On Acquia 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.You can execute alternative Drush cron commands using the following syntax on Acquia 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.
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 Acquia 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 Acquia 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.