2017-09-12 2 views
0

J'utilise le bijou pour chaque fois que Rails 5. Je suis en train de résoudre un problème, et après mon fichier schedule.rb par défaut a été créé à config/schedule.rb, j'ai ajouté quelques directives de journalisationOù puis-je trouver mes fichiers journaux?

# Learn more: http://github.com/javan/whenever 
set :environment, "development" 

every 10.minutes do 
    rake "events:calc_index", :output => {:error => 'error.log', :standard => 'cron.log'} 
end 

J'ai redémarré mon serveur Rails (je ne sais pas si cela compte ou non) mais je ne vois pas ces fichiers journaux créés nulle part. J'ai vérifié mon crontab a été mis en place en exécutant « crontab -e » et de voir le travail

0,10,20,30,40,50 * * * * /bin/bash -l -c 'cd /Users/davea/Documents/workspace/newproj && RAILS_ENV=development bundle exec rake events:calc_index ' 

Où sont les fichiers journaux créés?

Répondre

0

Dans votre fichier schedule.rb, vous pouvez spécifier les options de redirection pour vos commandes au niveau global ou de commande en définissant la variable 'output'. Cet exemple est le niveau global:

# adds ">> /path/to/file.log 2>&1" to all commands 
    set :output, '/path/to/file.log' 

et vous devez mettre cet ensemble au niveau mondial: sortie au-dessus de votre définition d'emploi, sinon il ne fonctionnerait pas Exemple:

# This works 
set :output, {:error => '~/Desktop/z.error.log', :standard => '~/Desktop/z.standard.log'} 

every 1.minute do 
    command "python ~/Desktop/whe/config/z.py" 
end 

Extrait de: https://github.com/javan/whenever/wiki/Output-redirection-aka-logging-your-cron-jobs

+0

Oui, mais vous êtes en train de coder en dur "~/Desktop/z.error.log" et cette structure de répertoire n'est pas présente dans tous mes environnements. Donc, ma question demeure, j'ai mis la sortie comme vous voyez dans ma question, alors où ces fichiers seront-ils générés? – Dave

+0

Vous pouvez simplement utiliser le fichier rails.env pour définir le chemin ou toute autre configuration à la place –