2.7.3 Publishing Engine — Queues, Retries, and Status

The Publishing Engine is responsible for reliable delivery of social posts using asynchronous processing, retries, and clear status tracking.

Queue‑Based Execution

Publishing jobs are dispatched to queues:

PublishSocialPost::dispatch($postId) ->onQueue('social-publishing');

This decouples user actions from external API latency.

Retry Strategy

Failures are handled based on error type:

Temporary (network, rate limit) → retry with backoff

Permanent (invalid token, rejected media) → mark as failed

public function retryUntil() { return now()->addMinutes(15); }

Status Lifecycle

Each post progresses through explicit states:

draft

scheduled

publishing

published

failed

Status changes are persisted and visible in real time.

Audit Logging

All publish attempts are logged:

Target platform

Timestamp

Result and error payload (if any)

This supports troubleshooting and compliance.

Summary

The publishing engine ensures that social content is delivered reliably, transparently, and safely—even under unstable external conditions.