2014-10-28 3 views
3

Можно ли запускать отдельные задания cron через Drush? например У меня задание cron с именем mycron. В пользовательском интерфейсе Esysia я могу запустить это 1 задание, нажав [run].Выполнять индивидуальные задания cron с помощью Drush

В drush я могу использовать команду «drush elysia-cron», но это запустит все активные задания cron.

Мой вопрос: как я могу запустить mycron (только) через drush?

Запрос: Сделать все вакансии 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());" 

ИЛИ

Если вы используете версию 2.x DEV для D7 это possibile с командой:

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

(использование - -ignore-time для принудительного выполнения)

4) Создайте сценарий и добавьте его в свой планировщик (в моем случае, локальный Linux crontab)

+0

Как запустить индивидуальный cron программно с использованием или без использования elysia –

Смежные вопросы