Skip to main content

Cron Setup

The module uses two cron tasks: provision reconcile (webhook fallback) and catalog sync. Each task has its own flock lock; runs never race.

Provision reconcile (safety net)

If the service.created webhook is missed (endpoint down, network error), the cron catches it so a service never stays "pending" forever. Run it with no arguments:

*/2 * * * * php /home/<user>/public_html/modules/addons/rabisu/cron.php >/dev/null 2>&1

Every 2 minutes is recommended. This run:

  • Checks incomplete provisions via GET /orders/{id}; if done, links service_id and sets status active.
  • Refreshes active/suspended service status via GET /services/{id} (webhook fallback).
  • Checks your balance via GET /auth/balance each run; sends a one-time admin alert when it newly drops below the low balance threshold.

Note: The reconcile cron does not make payments. pending_payment orders are settled only when the customer pays the invoice (InvoicePaid hook).

Catalog sync

Refreshes mapped products with the current rules/rates (resumable, batch 50):

*/15 * * * * php /home/<user>/public_html/modules/addons/rabisu/cron.php --task=product-sync >/dev/null 2>&1

A cursor is kept; on 504/timeout the next run resumes where it left off.

Verification

You can see cron runs under Addon Modules > Rabisu > Reporting (last catalog sync, import/sync logs).