使用Drush运行单个cron作业

Kat*_*hly 4 cron hook drupal drupal-7 drush

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

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

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

要求:让所有cron工作都可以在匆忙中使用,这样"drush elysia-cron mycron"就可以了.

小智 6

这就是我如何评估我自己的cron钩子.

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

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

3)运行drush:

drush eval "variable_set('modulename_cron_last', 0);"
drush eval "modulename_cron();"
drush eval "variable_set('modulename_cron_last', time());"
Run Code Online (Sandbox Code Playgroud)

要么

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

drush elysia-cron run [JOB_NAME]
or:
drush elysia-cron run [JOB_NAME] --ignore-time
Run Code Online (Sandbox Code Playgroud)

(使用--ignore-time强制执行)

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