drupal drupal-7 cron hook drush

drush drupal



Ejecuta trabajos cron individuales con Drush (1)

¿Es posible ejecutar trabajos cron individuales a través de Drush? por ejemplo, tengo un trabajo cron llamado "mycron". En la IU de Esysia puedo ejecutar ese 1 trabajo haciendo clic en [ejecutar].

En drush, puedo usar el comando "drush elysia-cron" pero eso ejecutará todos los trabajos cron activos.

Mi pregunta: ¿cómo puedo ejecutar mycron (solo) a través de drush?

Solicitud: haga que todos los trabajos cron estén disponibles en drush para que funcione "drush elysia-cron mycron".


Así es como estoy evaluando mi propio gancho cron.

1) Encuentra la llamada hook_cron apropiada en tu módulo. modulename_cron es lo que quieres.

2) Averiguar si alguna variable específica impacta cuando se ejecuta. En mi caso, hay una variable modulename_cron_last que rastrea la última vez que se ejecutó el cron. Tengo que forzar esto a 0 para que funcione.

3) Ejecutar drush:

drush eval "variable_set(''modulename_cron_last'', 0);" drush eval "modulename_cron();" drush eval "variable_set(''modulename_cron_last'', time());"

O

Si usa la versión 2.x DEV para D7, esto es posible con el comando:

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

(use --ignore-time para forzar la ejecución)

4) Haga una secuencia de comandos y agréguela a su planificador (en mi caso, el crontab actual de Linux local)