In the CME, failed publishing requests are replaced by newer publishing requests that succeed.
Can we somehow see the failure details later?
I agree with JanH's point that the queue isn't a logging mechanism. So I’m thinking we should check logs depending on where the transport package failed, review the troubleshooting list in the documentation, and maybe log some details with the event system.
Support directed me to the list on SDL Live Content summarizing failed transactions (requires login). In summary, we can know the following based on statuses in the publishing queue.
- No item in the queue means nothing was submitted.
Success
but not on website suggests wrong item or wrong place.Success
but stale content on website might be workflow, caching, or multiple Content Deployers.- Stuck in
Scheduled for Publish
may simply be a scheduled item. Waiting for Publish
should go away normally, but consider what's causing load.- Stuck
In Progress
means Publisher Service. It's either load or code. Waiting for Deployment
simply means the item is in queue. (Keep pressing that refresh icon). :-)Throttled
meansTransport Service
is sending moreTransport Packages
than theContent Deployer
can handle. Wait up to 20 minutes or so and then check configuration.Warning
means the user chose to ignore render errors, but render errors occured. Not a problem if expected.Failure
means an error occured in the publishing pipeline that prevented the item from being published. Double-click the item in the Publishing Queue to learn more.
When describing a logging approach, I think we'd use the Event System to subscribe to the PublishTransaction
(on TransactionCommitted
?). Anyone have an example of what we'd need in the handler? I'm sure we need to handle publishing and unpublishing, anything else and where would you save this information?