WordPress中文开发手册

WordPress插件开发 — 将WP-Cron挂接到系统任务计划程序中

如前所述,WP-Cron不会连续运行,如果有关键任务必须按时运行,这可能是一个问题。 有一个简单的解决方案。 只需设置系统的任务调度程序,就可以按需要的间隔(或者在特定的时间)运行。 最简单的解决方案是使用工具向wp-cron.php文件发出Web请求。

在您的系统上安排任务后,还有一个步骤要完成。 WordPress将在每次加载页面上继续运行WP-Cron。 这不再需要,并将有助于您的服务器上额外的资源使用。 可以在wp-config.php文件中禁用WP-Cron。 打开wp-config.php文件进行编辑,并添加以下行:

define('DISABLE_WP_CRON', true);

Windows

Windows调用其基于时间的调度系统任务计划程序。 可以通过控制面板中的“管理工具”进行访问。

如何设置任务因服务器设置而异。 一种方法是使用PowerShell和基本任务。 创建基本任务后,以下命令可用于调用WordPress Cron脚本。

powershell "Invoke-WebRequest http://YOUR_SITE_URL/wp-cron.php"

Mac OS X and Linux

Mac OS X和Linux都使用cron作为其基于时间的调度系统。 通常从终端接入

crontab -e

命令。 应该注意的是,任务将作为常规用户运行,也可以以root身份运行,具体取决于运行该命令的系统用户。

Cron具有需要遵循的特定语法,并包含以下部分:

  • Minute
  • Hour
  • Day of month
  • Month
  • Day of week
  • Command to execute
  • plugin-wp-cron-cron-scheduling

如果一个命令应该运行,而不管其中一个时间段应该使用星号(*)。 例如,如果您希望每15分钟运行一次命令,无论时间,日期或月份如何,它将如下所示:

15 * * * * command

许多服务器都有

wget

这是一个简单的工具来调用WordPress Cron脚本。

wget http://YOUR_SITE_URL/wp-cron.php

每天晚上在午夜触发您网站WordPress Cron的每日电话可能类似于

0 0 * * * wget http://YOUR_SITE_URL/wp-cron.php
Tags ,