Set up cron jobs
Back to home
On this page
Cron jobs allow you to run scheduled tasks at specified times or intervals. To set up a cron job, add a configuration similar to the following:
applications:
  myapp:
    crons:
      snapshot:
        spec: 0 5 * * *
        commands:
          start: |
            croncape symfony ...            To run a command in a cron hook for specific environment types,
use the PLATFORM_ENVIRONMENT_TYPE environment variable:
applications:
  myapp:
    crons:
      snapshot:
        spec: 0 5 * * *
        commands:
          start: |
            # only run for the production environment, aka main branch
            if [ "$PLATFORM_ENVIRONMENT_TYPE" = "production" ]; then
              croncape symfony ...
            fi             Use croncape 
 
When using the Symfony integration,
you can use croncape to get feedback through emails when something goes wrong.
To specify which email address croncape must send the feedback emails to,
add a MAILTO environment variable.
To do so, run the following command:
symfony var:create -y --level=project --name=env:MAILTO --value=sysadmin@example.comTo ensure better reliability, croncape sends the emails using:
project-id@cron.noreply.platformsh.siteas the sender address (project-id+branch@cron.noreply.platformsh.sitefor non-main environments)- the provided UpsunSMTP service, even if you define your own 
MAILER_*environment variables 
To use a custom SMTP and/or custom sender address, follow these steps:
- 
To specify a sender address, define a
MAILFROMenvironment variable. - 
Define the mandatory environment variables to use your own email service. Note that only SMTP connections are supported.
 - 
To disable the provided SMTP service, run
symfony upsun:env:info enable_smtp false. 
Note
To use croncape, SMTP must be enabled on the environment, where the PLATFORM_SMTP_HOST environment variable is accessible.
This variable is available, and SMTP enabled, by default on all production environments.
This is not the case for preview (non-production) environments, where it must be enabled with the command symfony cloud:env:info enable_smtp true.