crontask由Whenever生成

时间:2014-12-02 14:32:34

标签: ruby-on-rails cron rbenv whenever

我有这个cronfile:

# Begin Whenever generated tasks for: mtaville_staging

* * * * * cd /home/mtaville/mtaville_staging/releases/20141202140931 && RAILS_ENV=staging bundle exec rake cinemas:import --silent

# End Whenever generated tasks for: mtaville_staging

但它没有执行任务。

当我有这个时:

* * * * * cd /home/mtaville/ && touch "echo.txt"

文件" echot.txt"创造了...但不是我的任务!

修改

nohup: les entrées sont ignorées
nohup: impossible d'exécuter la commande «cinemas:import»: Aucun fichier ou dossier de ce type

编辑最终

这是我的crontask:

* * * * * /bin/bash -c 'export PATH="$HOME/.rbenv/bin:$PATH" ; eval "$(rbenv init -)"; cd /home/mtaville/mtaville_staging/current ; RAILS_ENV=staging bundle exec rake cinemas:import > /tmp/log.txt 2>&1'

1 个答案:

答案 0 :(得分:1)

尝试不以静默方式运行任务,但输出转发到文件:

RAILS_ENV=staging bundle exec nohup cinemas:import >/tmp/log.txt 2>&1

因此对于special wrappers,应运行以设置适当的环境,如下所示:

* * * * * cd folder; RAILS_ENV=staging /usr/local/rvm/wrappers/ruby-2.1.1@projectX/bundle exec nohup cinemas:import >/tmp/log.txt 2>&1

如果您使用script runner将如下所示:

* * * * * /bin/bash -c '. $HOME/.rbenv/loader.sh; cd folder ; RAILS_ENV=staging bundle exec cinemas:import >/tmp/log.txt 2>&1'