Server setup
Three things run in the background. The admin’s System health page shows whether each one is alive.
| What it does | Needed | |
|---|---|---|
| Scheduler | Timed jobs: cancelling unpaid orders, releasing scheduled orders, reports, backups, exchange rates, the weekly GeoIP update. | Yes |
| Queue worker | Sends emails and push notifications, imports catalogues, runs exports — so pages stay fast. | Yes |
| Realtime | Pushes new orders and status changes to the admin, store panel and apps instantly. Without it they refresh every few seconds instead. | Recommended |
Scheduler
Section titled “Scheduler”Add one cron job that runs every minute. Replace the path with where you uploaded RapidMart.
* * * * * cd /home/you/rapidmart && php artisan schedule:run >> /dev/null 2>&1cPanel → Cron Jobs → Common settings: Once per minute → paste the command above (only the
part after the five *) → Add New Cron Job.
Run crontab -e as the web server’s user (often www-data) and add the line above.
Queue worker
Section titled “Queue worker”The worker is a process that keeps running. Restart it after every update
(php artisan queue:restart — Supervisor starts it again).
[program:rapidmart-worker]command=php /var/www/rapidmart/artisan queue:work --queue=realtime,default --tries=3autostart=trueautorestart=trueuser=www-datanumprocs=1stopwaitsecs=60Then sudo supervisorctl reread && sudo supervisorctl update.
If you can’t run long processes, add a second cron job that works through the queue every minute and stops:
* * * * * cd /home/you/rapidmart && php artisan queue:work --queue=realtime,default --stop-when-empty --max-time=55 >> /dev/null 2>&1Realtime (optional)
Section titled “Realtime (optional)”RapidMart uses Laravel Reverb (included, self-hosted) or Pusher (hosted).
- Reverb: Admin → Settings → Realtime → Reverb, enter your public host, and save — the keys
are generated for you. Then run
php artisan reverb:start --host=127.0.0.1 --port=8080under Supervisor, and proxy your websocket host (HTTPS) to it. - Pusher: create a Pusher Channels app, then enter its keys in Admin → Settings → Realtime.
Step by step, with the Supervisor and Nginx settings: Realtime.