Information for: DEVELOPERS   PARTNERS   SUPPORT

Using Drush cron on Cloud Platform environments

On Cloud Platform environments, cron can be triggered using Drush in addition to using scheduled jobs.

To use Drush cron, select from the following methods:

In each of the following examples:

  • [site] is the name of your application on Cloud Platform.
  • [env] is your environment (typically one of dev, test, or prod).
  • [site_URL] is your environment’s URL (as listed on the Cloud > Domains page). If you are using Drupal multisite, your cron jobs are specific to each website in the multisite installation. Use the URL of the website in the installation you want to target.

Running Drush cron directly

You can execute alternative Drush cron commands using the following syntax on the Cloud Next infrastructure:

/usr/local/bin/drush10 --uri=http://[site-uri] --root=/var/www/html/docroot -dv cron &>> /shared/logs/drush-cron.log

For environments running on Cloud Classic infrastructure, the syntax is as follows:

/usr/local/bin/drush10 --uri=http://[site-uri] --root=/var/www/html/${AH_SITE_NAME}/docroot -dv cron &>> /var/log/sites/${AH_SITE_NAME}/logs/$(hostname -s)/drush-cron.log

In the preceding example, &>> /var/log/sites/${AH_SITE_NAME}/logs/$(hostname -s)/drush-cron.log logs the cron output to a drush-cron.log file in the infrastructure’s logs directory.

Cron jobs must always include a logging statement.

Triggering a cloud hook through Drush cron

For infrastructure where you want a single hook, you can also run a specific cron hook directly. The command structure will vary based on your Drupal version and module. For example, for environments running on the Cloud Next infrastructure, you might use:

/usr/local/bin/drush10 --root=/var/www/html/docroot -v ev "mymodule_cron();"  &>> /shared/logs/drush-cron.log

For environments running on the Cloud Classic infrastructure, you might use:

/usr/local/bin/drush10 --root=/var/www/html/${AH_SITE_NAME}/docroot -v ev "mymodule_cron();"  &>> /var/log/sites/${AH_SITE_NAME}/logs/$(hostname -s)/drush-cron.log

The previous commands will log output to the standard log files, ensuring log rotation and maintenance continues.