红宝石 - 随时使用宝石'检查截止日期

时间:2017-05-02 03:18:56

标签: ruby-on-rails ruby

我想随时使用'这个宝石检查我的所有项目仍然没有超出截止日期。我编写了这段代码,但它没有工作并改变了数据库中的状态。有人可以给我一些建议。谢谢你的帮助!

配置/ schedule.rb

set :environment, :development
every 1.day, at: '11:3 am' do
  rake 'project:close_project'
end

应用程序/模型/ project.rb

def self.close_project(dt)
# 締切日が過ぎているプロジェクトを抽出
Project.where(deadline > dt).each do |project|
# 対象プロジェクトを終了状態に
  project.update!(status: 'closed') 
end

product.rake

namespace :product do
 task :close_project => :environment do
  Project.close_project(Date.today)
 end
end

1 个答案:

答案 0 :(得分:0)

每当根据CronJob格式创建作业时。因此,要定期运行您的作业,您应该运行whenever命令并通过运行crontab -e将结果复制并粘贴到crontab,或者仅通过运行whenever -w自动执行此任务。