Skip to content
mxHeadless
REST API gateway for headless frontends on MODX 3. Resources, objects, OpenAPI, API keys, and OAuth
  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