使用Drush运行单个cron作业



是否可以通过Drush运行单个cron作业?例如,我有一个名为"mycron"的cron作业。在Esysia UI中,我可以通过单击[run]来运行这1个作业。

在drush中,我可以使用命令"drush-elysia-cron",但这将运行所有活动的cron作业。

我的问题:如何通过drush运行mycron(仅)?

请求:在drush中提供所有cron作业,以便"drush-elysia-cron-mycron"可以工作。

以下是我如何评估自己的cron钩子。

1) 在您的模块中找到适当的hook_cron调用modulename_cron就是您想要的。

2) 弄清楚运行时是否有任何特定的变量会产生影响。在我的例子中,有一个变量modulename_cron_last,它跟踪最后一次运行cron的时间。我必须将其强制设置为0才能使其运行。

3) 运行德鲁什:

drush eval "variable_set('modulename_cron_last', 0);"
drush eval "modulename_cron();"
drush eval "variable_set('modulename_cron_last', time());"

如果您使用D7的2.x DEV版本,则可以使用以下命令:

drush elysia-cron run [JOB_NAME]
or:
drush elysia-cron run [JOB_NAME] --ignore-time

(使用--忽略时间强制执行)

4) 制作一个脚本并将其添加到您的调度程序(在我的案例中,是实际的本地Linux crontab)

最新更新