是否可以通过Drush运行单个cron作业?例如我有一个名为" mycron"的cron工作。在Esysia UI中,我可以通过单击[run]来运行该作业。
在匆忙中,我可以使用命令" drush elysia-cron"但这将运行所有活跃的cron工作。
我的问题:如何通过drush运行mycron(仅限)?
要求:让所有的cron工作都可以在匆忙中进行,以便#34; drush elysia-cron mycron"会工作的。
答案 0 :(得分: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());"
或强>
如果您对D7使用2.x DEV版本,则可以使用命令:
drush elysia-cron run [JOB_NAME]
or:
drush elysia-cron run [JOB_NAME] --ignore-time
(使用--ignore-time强制执行)
4)创建一个脚本并将其添加到调度程序(在我的例子中,实际的本地Linux crontab)