【问题标题】:rails-3 cron job not working with rails runnerrails-3 cron 作业不适用于 rails runner
【发布时间】:2012-04-28 20:28:39
【问题描述】:

最近我偶然发现了以下不使用任何 Gems 运行 cron 作业的教程
http://www.ameravant.com/posts/recurring-tasks-in-ruby-on-rails-using-runner-and-cron-jobs

我在 /app/delete_old_posts.rb 中创建一个文件

  class DeleteOldPosts < ActiveRecord::Base          
    # This script deletes all posts that are over 5 minutes old          
     post_ids = Post.find(:all, :conditions => ["created_at < ?", 5.minutes.ago])          
     if post_ids.size > 0     
      Post.destroy(post_ids)     
      puts "#{post_ids.size} posts have been deleted!"       
     end       

然后通过给出 crontab -e 命令并在我写的 cronjob 控制台中创建 cron 作业

*/2 * * * * /usr/bin/env ruby /home/abc/xyz/urjit.rajgor/workspace/thewall/rails/runner/home/XYZ/ABC/urjit.rajgor/workspace/thewall/app/delete_old_posts.rb          

cron 作业每两分钟运行一次,但它没有工作
请帮帮我。
谢谢

【问题讨论】:

  • 如果这是实际的 crontab 命令,看起来您在 home 之前缺少一个 /
  • 感谢您的回复。但是对不起,我在 home 之前 / 已经编辑了命令,但它仍然不起作用

标签: ruby-on-rails-3 crontab cron-task runner


【解决方案1】:

尝试使用“无论何时” gem。 允许您在 ruby​​ 中定义您的 cronjobs,能够指定 rails runner、rake 或其他自定义包装器,它会为您处理编写 crontab。让生活变得更简单。

只需在您的 gemfile 中添加:gem 'whenever', :require =&gt; false

https://github.com/javan/whenever

http://railscasts.com/episodes/164-cron-in-ruby

【讨论】:

  • 感谢您的回答,但我尝试安装它,当我运行时它给了我这个错误。命令错误是无论何时:找不到命令,您能帮我在不使用任何 Gem 的情况下执行此操作吗?
  • 你是用 bundle exec 执行的吗?
  • 如果你想知道它为什么现在可以工作,请查看他们与 rails runner 一起使用的语法。
猜你喜欢
  • 2011-08-31
  • 2013-10-20
  • 2014-03-08
  • 2011-10-22
  • 1970-01-01
  • 2013-02-06
  • 1970-01-01
  • 1970-01-01
  • 2016-04-22
相关资源
最近更新 更多