Запускайте отдельные задания cron с помощью Drush

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

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

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

Пожелание: сделать все задания cron доступными в drush, чтобы "drush elysia-cron mycron" работал.


person Kathorey Ashly    schedule 28.10.2014    source источник


Ответы (1)


Вот как я оцениваю свой собственный хук 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());"

ИЛИ

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

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

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

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

person Mudassar Ali Sahil    schedule 28.10.2014
comment
Как вы запускаете отдельный cron программно с использованием Elysia или без него? - person Mirza Vu; 20.11.2015