2014-10-28 142 views
3

是否可以通過Drush運行單個cron作業?例如我有一個名爲「mycron」的cron作業。在Esysia用戶界面中,我可以通過點擊[運行]來運行該工作。使用Drush運行單個cron作業

在drush中,我可以使用命令「drush elysia-cron」,但會運行所有活動的cron作業。

我的問題:如何通過drush運行mycron(僅)?

請求:使所有cron作業在drush中可用,以便「drush elysia-cron mycron」可以工作。

回答

5

下面是我如何評估自己的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());" 

OR

如果您使用D7在2.x版本DEV這是不可能性與命令:

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

(使用 - - 強制執行的時間)

4)製作腳本並將它添加到您的調度程序(在我的情況下,實際的本地Linux crontab)

+0

如何以編程方式運行單個cron,使用或不使用elysia – 2015-11-20 10:47:01