2012-07-17 15 views
35

pregunta rápida sentimos aquí desde un novato rieles relativa. Intento usar la gema Whenever para programar una serie de tareas de rake. No puedo, por mi vida, comenzar a ejecutar los trabajos cron en mi máquina de desarrollo.rieles, utilizando siempre joya en el desarrollo

A juzgar por otros hilos stackoverflow, parece que debería añadir lo siguiente:

set :environment, "development" 

a mi archivo schedule.rb. ¿Pero entonces, qué?

Y entonces, ¿cómo hago para dejar los trabajos de cron una vez que han empezado?

El uso de rieles 3.2.3 en OSX

ACTUALIZACIÓN: la respuesta es ejecutar $ whenever -w que escribe el trabajo de cron para un archivo crontab. El sistema inmediatamente comienza a ejecutar ese archivo crontab automáticamente.

Por desgracia, mi archivo de registro para cada vez que contiene lo siguiente: "rake aborted! Don't know how to build task <task name>"

Estoy pensando que esto podría ser debido a la cuestión crontab/RVM conocido, pero cualquier sugerencia es bienvenida.

Respuesta

6

Usted puede utilizar el comando whenever y sus diversas opciones para manipular su crontab.

$ whenever --help 
Usage: whenever [options] 
    -i [identifier],     Default: full path to schedule.rb file 
     --update-crontab 
    -w, --write-crontab [identifier] Default: full path to schedule.rb file 
    -c, --clear-crontab [identifier] 
    -s, --set [variables]   Example: --set 'environment=staging&path=/my/sweet/path' 
    -f, --load-file [schedule file] Default: config/schedule.rb 
    -u, --user [user]    Default: current user 
    -k, --cut [lines]    Cut lines from the top of the cronfile 
    -v, --version 
+0

Gracias. Lo que no me di cuenta fue que una vez que se escribe en el archivo crontab usando 'siempre -w', el crontab comenzar a ejecutarse automáticamente (es decir, usted no tiene que hacer nada más para ejecutarlo.) Por desgracia, mi archivo de registro para cada vez que dice "rastrillo abortado! no sé cómo construir tarea " la tarea rastrillo trabaja por su cuenta simplemente usando $ rake desde la línea de comandos. ¿Alguna sugerencia? – user1377556

+0

Probablemente tenga sintaxis incorrecta en algún lugar de la tarea o en cualquier evento. Intenta obtener un seguimiento de la pila más informativo. – Conner

+0

Al hacer algunas búsquedas alrededor, parece que esto puede ser un problema con RVM, que aparentemente tiene algunos problemas con Whenever. Cualquier sugerencia sobre esto sería muy apreciada. – user1377556

2
whenever -c cron-name #removing cronjobs 
56

borrar los trabajos de cron existente.

crontab -r 

Actualizar cronjob con el entorno.

whenever --update-crontab --set environment='development' 
+1

Me gustaría ver una descripción más informativa de lo que hacen exactamente estos comandos, ¡dirigido a un principiante! –

0

Agregando la siguiente línea de código en la parte superior de config/schedule.rb funcionó para mí.

ENV['RAILS_ENV'] = "development" 
Cuestiones relacionadas