2012-07-17 8 views
35

Scusate una rapida domanda qui da un parente newbie Rails. Sto cercando di utilizzare la gemma Whenever per pianificare un numero di attività di rake. Non posso per tutta la vita da parte mia iniziare a eseguire i processi cron sul mio computer di sviluppo.Rails, da usare ogni volta che gem in via di sviluppo

A giudicare da altri thread StackOverflow, sembra devo aggiungere questo:

set :environment, "development" 

al mio file schedule.rb. Ma allora cosa?

E quindi come posso interrompere i lavori cron una volta che sono stati avviati?

Utilizzando Rails 3.2.3 in OSX

UPDATE: la risposta è quello di eseguire $ whenever -w che scrive il job di cron in un file crontab. Il sistema inizia immediatamente a eseguire automaticamente quel file crontab.

Purtroppo, il mio file di log per ogni volta che contiene i seguenti: "rake aborted! Don't know how to build task <task name>"

Sto pensando che questo potrebbe essere dovuto al problema noto crontab/rvm, ma tutti i suggerimenti sono i benvenuti.

risposta

6

È possibile utilizzare il comando whenever e le sue varie opzioni per manipolare il proprio 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

Grazie. Quello che non mi rendevo conto era che una volta che si scrive nel file crontab usando 'when -w', il crontab si avvia automaticamente (cioè non si deve fare nient'altro per eseguirlo.) Sfortunatamente, il mio file di log per quando dice "rastrello interrotto! Non so come creare un'attività " L'attività di rake funziona da sola utilizzando solo $ rake dal prompt dei comandi. Eventuali suggerimenti? – user1377556

+0

Probabilmente hai una sintassi errata da qualche parte nell'attività o ogni volta che si verifica un evento. Cerca di ottenere una traccia dello stack più informativa. – Conner

+0

Facendo qualche ricerca, sembra che questo potrebbe essere un problema con RVM, che apparentemente ha qualche problema con Whenever. Qualsiasi suggerimento su questo sarebbe più apprezzato. – user1377556

2
whenever -c cron-name #removing cronjobs 
56

Cancella cron jobs esistenti.

crontab -r 

Aggiornamento cronjob con l'ambiente.

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

Mi piacerebbe vedere una descrizione più informativa di esattamente ciò che questi comandi fanno, rivolto a un principiante! –

0

Aggiunta seguente riga di codice in cima config/schedule.rb ha lavorato per me.

ENV['RAILS_ENV'] = "development" 
Problemi correlati