2013-04-05 13 views
6

i seguire tutte le fasi per ogni volta con riferimento https://github.com/javan/wheneverimpossibile eseguire cronjob utilizzando ogni volta in rotaie 3

in schedule.rb

require 'yaml' 
set :environment, 'production' 
set :output, { 
    :error => "/log/error.log", 
    :standard => "/log/cron.log" 
} 

every 1.minute do 
    runner "User.weekly_update" 
end 

in Gemfile

gem 'whenever', :require => false 

uscita di alcuni comando

localhost: ~/project $ when -i

[write] crontab file updated 

localhost: ~/progetto $ crontab -l

# Begin Whenever generated tasks for: /home/bacancy/project/config/schedule.rb 
* * * * * /bin/bash -l -c 'cd /home/bacancy/project && script/rails runner -e  production '\''User.weekly_update'\'' >> /log/cron.log 2>> /log/error.log' 

# End Whenever generated tasks for: /home/bacancy/project/config/schedule.rb 

# Begin Whenever generated tasks for: store 
* * * * * /bin/bash -l -c 'cd /home/bacancy/project && script/rails runner -e development '\''User.weekly_update'\''' 

# End Whenever generated tasks for: store 

# Begin Whenever generated tasks for: lapulguilla 

# End Whenever generated tasks for: lapulguilla 

e quindi scriv

localhost: ~/progetto $ ogni volta che

* * * * * /bin/bash -l -c 'cd /home/bacancy/project && script/rails runner -e production '\''User.weekly_update'\'' >> /log/cron.log 2>> /log/error.log' 

## [message] Above is your schedule file converted to cron syntax; your crontab file was not updated. 
## [message] Run `whenever --help' for more options. 

Nel modello User ho definizione self.weekly_update

def self.weekly_update 
    puts "cronjobs is called in every minutes" 
end 
+0

non è in esecuzione il lavoro cron in ogni minuto. quale errore ho fatto in questo? come posso eseguirlo per ogni minuto? –

+1

Ciao Nirav, ho esaminato la tua domanda e secondo il mio punto di vista il lavoro cron deve funzionare ma c'è qualche errore nella logica, puoi inserire il codice di errore dal file '/log/error.log' ... – Jeet

+0

Ciao Jeet, non crea nemmeno i file di registro per cronjobs. è che alcune ragioni specifiche? errore ho già menzionato. se corro ogni volta, non funziona perfettamente. guarda l'ultima riga del post principale. –

risposta

1

Tutto è corretto, è solo che stai dicendo a cron job di stampare qualcosa sullo sfondo, quindi lo sta facendo e sei in grado di osservarlo.

Invece si dovrebbe cercare di creare o distruggere alcuni record a sentire i cambiamenti credo :)