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, linksservice_idand sets statusactive. - Refreshes active/suspended service status via
GET /services/{id}(webhook fallback). - Checks your balance via
GET /auth/balanceeach 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_paymentorders 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).