Como ejecutar una función de cron especifica con Drush

Author Top
enzo

En algunas ocasiones necesitamos ejecutar alguna implementación del hook_cron() en especifico ya sea por una emergencia o por estar en el proceso de desarrollo. Lamentablemente esta no es una opción disponible en Drush o mediante la interfaz de Drupal, aun si tenemos instalando el Elysia Cron.

Afortunadamente tenemos dos trucos para solucionar esta problemática.

1. Drush + Eval.

Drush permite en la linea de comando hacer uso de la función de php eval como podemos apreciar en el siguiente comando.

$ drush php-eval '$a=5+5; echo $a . "\n"'
10
$

De la misma forma que el código php se ejecuto, podemos usarlo para ejecutar la función que necesitemos, como se muestra en el siguiente comando.

$ drush php-eval 'mimodulo_cron();'

Si la función existe se ejecutara.

2. Usando Lightcron.

Existe un proyecto en github llamado Drushexts = Drush Extensions que por ahora la única extensión disponible es Lightcron.

2.1 Como instalarlo.

Clonar el repositorio y ubicarlo en la ruta  ~/.drush/drushexts con el siguiente comando.

git clone https://github.com/jh3/drushexts.git ~/.drush/drushexts

Borrar el cache de drush para que se vuelvan a leer la extensiones disponibles.

$ drush cc drush

2.2 Como usarlo.

Ya con la nueva extensión disponible solo debemos pasar como parámetro al lightcron el nombre del modulo que deseamos ejecutar la implementación del cron, como se muestra en el siguiente ejemplo.

$ drush rch mimodulo

Espero que haya sido de su agrado.

bursa esc
bursa eskort
bursa escort bayan bursa travesti escort bursa merkez escort bursaescort bursa escort bayanlar alanya eskort bayan antalya bayan eskort havalimanı transfer