2010-11-13 35 views
1

Je suis en train de configurer un travail cron en utilisant la gemme whenever. J'ai écrit quand le travail de cron devrait être couru dans le schedule.rb et a également mis à jour le crontab comme mentionné dans l'épisode railscasts. Mais le travail de cron ne semble pas fonctionner. Je l'utilise juste dans la machine locale.Problème lors de l'écriture du travail cron en utilisant chaque fois que ruby ​​gem

C'est le code schedule.rb

every :sunday, :at => "2:28am" do 
    runner "App.send_status", :environment => :development 
end 

et c'est ce qui vient quand je l'ai fait crontab -l

28 2 * * 0 /bin/bash -l -c 'cd /Users/felix/cron && script/rails runner -e development 
'\''App.send_status'\''' 

-je configurer le Cron à seulement 5 minutes à l'avance (c.-à 2h23).

Il est exécuté, quand je l'ai essayé à partir de la ligne de commande comme

script/rails runner -e development "App.send_status" 

Pourriez-vous s'il vous plaît me dire si je manque quelque chose. Merci !!!

+0

vous avez raison. mais y a-t-il un moyen de le corriger? – felix

Répondre

0

Pour déboguer cela, je voudrais tout d'abord mettre des puts avec le texte de statut App.send_status

Ensuite, allez au serveur et ajoutez la ligne suivante dans « crontab -e »

[email protected] 

Toutes les sortie puts devrait être dans votre boîte aux lettres peu de temps après l'exécution.

+0

Si un MTA n'est pas installé sur le serveur, l'autre façon de le déboguer est de l'ajouter à votre fichier schedule.rb: set: output, "# {path}/log /cron_log.txt " Cela sera ensuite acheminé vers la sortie du travail cron pour le fichier dans votre répertoire de journal où vous pouvez regarder ce qui ne va pas. – zippy