Skip to content
  1. Extras
  2. mxHeadless
  3. Operations
  4. Workers

Workers

The CLI worker drains the webhook outbox. Run it on a schedule in production.

Webhook worker

bash
php /path/to/modx/core/components/mxheadless/bin/webhook-worker.php --limit=50
OptionDefaultDescription
--limit=Nmxheadless_webhook_worker_limit or 50Max deliveries per run

Output: Processed 3 webhook(s). Exit code 0 on success, 1 if MODX failed to boot.

Cron (every minute)

cron
* * * * * www-data php /var/www/modx/core/components/mxheadless/bin/webhook-worker.php --limit=50 >> /var/log/mxheadless-webhook.log 2>&1

Adjust user and paths for your server.

Audit prune

When mxheadless_audit_enabled=true, run daily:

bash
php /path/to/modx/core/components/mxheadless/bin/audit-prune.php

Without --days, uses mxheadless_audit_retention_days. See Audit log.

Requirements

  • mxHeadless installed, MODX boots from bin scripts
  • PSR-18 client in $modx->services
  • Subscriber URL reachable from the MODX host (HTTPS, not private IP)

Monitoring

  • Growing pending count in mxheadless_webhook_deliveries
  • failed rows after mxheadless_webhook_max_attempts
  • Worker log shows Processed 0 while mutations keep happening

See also