简体   繁体   English

每当rails gem无法与cronjob一起使用时..为什么?

[英]Whenever rails gem not working with cronjob.. why?

I am using Whenever gem with rails. 我正在使用带栏杆的每当每当宝石。 For some reason the first cronjob does not work. 由于某种原因,第一个cronjob无法正常工作。 If i copy paste the command into the shell manually, it works as it should. 如果我将命令手动复制粘贴到外壳中,它将正常工作。

The second "touch testing123.txt" also works fine. 第二个“ touch testing123.txt”也可以正常工作。

I have no idea why the GiftPackage.do_scheduled_deliveries rails method does not run. 我不知道为什么GiftPackage.do_scheduled_deliveries rails方法无法运行。 I'm really at a loss right now.. any help would be greatly appreciated! 我现在真的很茫然..任何帮助将不胜感激!

# Begin Whenever generated tasks for: /var/www/mysite/releases/20130131200554/config/schedule.rb
*/1 * * * * /bin/bash -l -c 'cd /var/www/mysite/releases/20130131200554 && script/rails runner -e staging '\''GiftPackage.do_scheduled_deliveries'\'''
*/1 * * * * /bin/bash -l -c 'cd /var/www/mysite/releases/20130131200554 && touch testing123.txt'
# End Whenever generated tasks for: /var/www/mysite/releases/20130131200554/config/schedule.rb

Thanks! 谢谢! :) :)

Most likely you are getting an error within the app itself. 您很可能在应用程序本身中遇到错误。

First step would be, run the task in the console using the staging environment. 第一步是使用登台环境在控制台中运行任务。

Second would be to check the cron logs and see if it is outputting any errors. 第二个是检查cron日志,看看它是否输出任何错误。

You can set whenever to log output by adding the following to your schedule.rb file; 您可以通过将以下内容添加到schedule.rb文件中来设置何时记录输出。

set :output, "/[path to log]/cron.log"

This should help you get closer to finding the solution. 这应该可以帮助您进一步找到解决方案。

Try setting your PATH variable before the jobs, your cron is probably not able to find ruby : 尝试在作业之前设置PATH变量,您的cron可能无法找到ruby:

For instance : 例如 :

PATH=/usr/local/rvm/gems/ruby-1.9.3-p194/bin:/usr/local/rvm/gems/ruby-1.9.3-p194@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p194/bin:/usr/local/rvm/bin:/usr/local/sbin:/usr/local/$
# Begin Whenever generated tasks for: /var/www/mysite/releases/20130131200554/config/schedule.rb
*/1 * * * * /bin/bash -l -c 'cd /var/www/mysite/releases/20130131200554 && script/rails runner -e staging '\''GiftPackage.do_scheduled_deliveries'\'''
*/1 * * * * /bin/bash -l -c 'cd /var/www/mysite/releases/20130131200554 && touch testing123.txt'
# End Whenever generated tasks for: /var/www/mysite/releases/20130131200554/config/schedule.rb

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM