Skip to main content
Cron jobs allow you to run scheduled tasks at specified times or intervals. While you can run your own custom tasks, Laravel provides a scheduler to simplify the implementation. To implement it, see the Laravel Task Scheduling documentation.

Set up a cron job

To set up a cron job, update your Upsun configuration as follows:
.upsun/config.yaml

Run cron jobs based on environment type

To run a command in a cron hook for specific environment types, use the PLATFORM_ENVIRONMENT_TYPE environment variable:
.upsun/config.yaml

Run the Laravel scheduler every minute

Cron job execution on the default Upsun offering are limited to once every 5 minutes. For more information, see the documentation on crons. However, you can add a worker and specify a start command that runs the scheduler every minute. To do so, use the following configuration:

Warning

Web and worker containers don’t share mount targets. You can’t share files between those containers using the filesystem. To share data between containers, use services.
Last modified on March 18, 2026