WordPress scheduled tasks can run on Agiler’s serverless PHP containers. Their schedules live in the database, and later HTTP requests trigger execution. The PHP process that schedules a task can finish immediately; it does not wait for the task’s due time.

WP-Cron and system cron

WP-Cron checks for due tasks when a request loads WordPress and normally starts a separate request to wp-cron.php to run them. This supports features such as scheduled posts without a continuously running PHP process. See the WordPress WP-Cron documentation.

System cron is an operating-system service that starts commands on a clock-based schedule. Agiler’s PHP containers can be recycled, so do not rely on a cron daemon or a continuous custom worker staying alive inside one.

WooCommerce Action Scheduler

Action Scheduler saves jobs in database tables. Its default runner is triggered by WP-Cron, and admin requests can also start it. It processes due jobs in batches and uses further HTTP requests to the site to continue processing the queue. Waiting jobs survive container recycling because they remain in the database. See how Action Scheduler works.

Each batch still needs to fit within runtime limits. Split lengthy custom work into smaller jobs that save their progress between runs.

Standard WP-Cron behavior and troubleshooting

WP-Cron has the same request-triggered scheduling behavior on Agiler as on other WordPress hosts. A scheduled time makes a task due; it does not guarantee exact execution time. On quiet sites, tasks may wait for another request. Cached responses that bypass WordPress do not trigger WP-Cron. These are standard WP-Cron characteristics across hosting environments.

  • For regular triggering without visitor traffic, use an external scheduler to request your site’s wp-cron.php URL. See WordPress’s external scheduler instructions.
  • If tasks stop running after migration, check whether DISABLE_WP_CRON was enabled for the previous host’s scheduler. Keep it enabled only if you have a replacement trigger configured.
  • Check Tools → Site Health in WordPress for loopback request problems, including authentication or security rules that block requests back to the site.
  • In WooCommerce, inspect Status → Scheduled Actions for overdue jobs and failure logs. Future pending jobs are expected.