2017-05-02 4 views
0

私はすべてのプロジェクトが期限切れではないことを確認するためにこの宝石をいつでも使用したいと思います。私はこのコードを書いたが、それはうまくいかず、データベースの状態が変わった。誰かが私に助言をくれますか?助けてくれてありがとう!ruby​​ - 期限をチェックするためにいつでもgemを使用

のconfig/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 

答えて

0

に基づいてジョブを作成するたびにCronJob形式。定期的にジョブを実行するには、crontab -eを実行してwheneverコマンドを実行し、結果をcrontabに貼り付けるか、whenever -wを実行するだけで自動的にこのタスクを実行する必要があります。

関連する問題