ProfileSuite uses Laravel queues (QUEUE_CONNECTION=database in .env.example). Mail and heavier jobs benefit from a worker.
Shared hosting (cron)
cPanel Cron Jobs → run every minute (or every 5 minutes):
php /home/USER/path/to/application/artisan queue:work --queue=high,default --stop-when-empty
--stop-when-empty exits when the queue is drained, which is appropriate for cron. Replace the path with the real project root (the folder that contains artisan).
Optional Laravel scheduler (if you add schedule entries later):
* * * * * php /home/USER/path/to/application/artisan schedule:run >> /dev/null 2>&1
VPS (long-running worker)
Supervisor example:
[program:profilesuite-worker]
process_name=%(program_name)s
command=php /var/www/profilesuite/artisan queue:work --queue=high,default --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
user=www-data
redirect_stderr=true
stdout_logfile=/var/www/profilesuite/storage/logs/worker.log
Disable queues
If you cannot run workers, jobs may run synchronously depending on config. .env.example includes QUEUE_ENABLE=false as a product flag — keep a worker enabled in production if email or exports are delayed.
← All ProfileSuite – Digital Business Card, Bio Link & Lead Capture Platform documentation