Diagnose Publisher background processing without discarding completed sections, WordPress posts or useful history.
Where to look
Use Publisher → Create articles for current live progress and Publisher → History & Logs for job history, status and error evidence. “Jobs & Logs” is an outdated label and there is no manual Resume button in 3.7.6.
Execution engine
Publisher uses Action Scheduler when it is available and falls back to WP-Cron. This supports asynchronous topic batches, article generation, schedule preparation, publishing and supporting reports.
Job states
| Status | Meaning |
|---|---|
| Queued | Ready but waiting for dispatch/worker capacity |
| Running | A worker is active and should report checkpoints |
| Paused | Runtime policy currently prevents new progress |
| Cancelling | Stop requested; current provider operation may still finish |
| Completed | Pipeline reached its intended terminal result |
| Failed | Non-retryable error or exhausted retries |
| Cancelled | Safe cancellation completed |
Checkpoints
Publisher records progress after setup, after each written section, after WordPress post creation and after each image. Checkpoints allow a retry to continue from completed work instead of rewriting everything.
Automatic recovery
- Retryable errors are requeued with backoff.
- A running job with no progress for about 20 minutes can be treated as stale and requeued.
- An eligible queued job older than about 3 minutes can be redispatched when status is read.
- Optional-service absence uses graceful fallback rather than a retry loop.
Read the first error
The final symptom may be “article failed,” while the useful cause is an earlier provider authentication, model, quota, cron, sitemap or media error. Record job ID, topic, stage, first error, retry count and last checkpoint. Mask all keys and personal data.
Cancel and delete are different
Cancel stops future work safely after the current request. Deleting a job removes its history record; it does not delete the generated WordPress post or its media. Delete history only after the incident has been documented.
WP-Cron diagnosis
- Confirm that WordPress cron is not disabled without a replacement.
- Check whether Action Scheduler is available and healthy.
- Verify site timezone and scheduled event timing.
- On low-traffic sites, configure a real server cron through the host.
- Start one small Draft job and confirm that queued → running → terminal occurs without manual page traffic.
Provider and server failures
- Authentication/model: fix provider configuration; unchanged retries will not help.
- 429/rate limit: allow backoff and reduce concurrent volume.
- Timeout: inspect the last checkpoint, hosting limits and provider response.
- Memory/fatal error: capture the WordPress/PHP error and job ID; do not expose secrets.
- Image-only failure: text-provider health does not prove image-provider health.
- Persistent queued state: repair cron/worker dispatch before scheduling more content.
Safe recovery procedure
- Pause new automation if failures are repeating.
- Open History & Logs and identify the first common error.
- Verify licence, provider and cron readiness.
- Correct the cause.
- Allow automatic retry/recovery or start one controlled eligible replacement job.
- Confirm the existing post/checkpoint is not being duplicated.
- Resume automation only after a complete quality-ready result.
Support evidence
Provide product version, WordPress/PHP version, environment, job ID, topic, stage, timestamps, safe error text and steps to reproduce. Do not send API keys, licence keys, customer content or complete provider responses containing sensitive data.
Related guides
Live Pipeline · Automation · Updates and rollback
3.7.6 scheduling and recovery evidence
History and logs can now show the durable scheduled state, exact slot reservation, native WordPress future-post transition, Publisher watchdog verification/recovery and the one-time background reconciliation used after a 3.7.6 update. Check the first scheduling or reconciliation message before manually changing a future post.

