Cron job
Add the one scheduled task Sellora needs, in cPanel or on a VPS, and check that it runs.
Sellora uses Laravel's scheduler. You add one cron entry that runs every minute; the application decides which jobs are due.
What the scheduler does#
- Sends abandoned-cart reminders (checked every hour).
- Refreshes currency exchange rates daily (when automatic refresh is on).
- Generates the sitemap.
- Releases stock held by unpaid orders after the expiry time you set in Settings > Checkout.
- Writes a heartbeat so the admin panel can show when the scheduler last ran.
The store works without it, but these tasks will not run.
The cron line#
The setup wizard's last screen and Admin > System > Info show the exact line for your server. It looks like this:
* * * * * cd /home/myaccount/public_html && /usr/local/bin/php artisan schedule:run >> /dev/null 2>&1
The path before artisan must be the folder that contains the artisan file. The PHP path must point to PHP 8.3 or newer.
cPanel#
- Open Cron Jobs.
- Under Add New Cron Job choose Once Per Minute (
* * * * *). - Paste the command (everything after
* * * * *) into the Command box and click Add New Cron Job.
Finding the right PHP path in cPanel
Some hosts have several PHP versions. If the default php is older than 8.3, use the full path your host documents, for example /usr/local/bin/ea-php83 or /opt/cpanel/ea-php83/root/usr/bin/php.
VPS#
Open the crontab of the web-server user and add the line:
sudo crontab -u www-data -e
Checking that it works#
Wait two minutes, then open Admin > System > Info. The last cron run time should be recent. If it says "never":
- Check the PHP path and the folder path in your cron line.
- Run the command by hand over SSH (without the
>> /dev/nullpart) to see any error message. - Make sure the user that runs cron can write to
storage.
Queues#
Sellora works with QUEUE_CONNECTION=sync (the default), meaning e-mails are sent while the visitor's request runs. Switching to an asynchronous queue is an advanced option (it needs a running queue worker under a process manager such as Supervisor, see the Laravel documentation) and is not needed for typical stores.