私は時計宝石を使用しています。毎日真夜中にすべてのコメントをcomments
テーブルから自動的に削除したいと思います。それは開発ENVにになって生産時に時計作業スクリプトを実行する方法
このapp/clock.rb
スクリプトが動作している:
require './config/boot'
require './config/environment'
require 'clockwork'
module Clockwork
every(1.day, 'delete.comment', at: '00:00') {
Comment.destroy_all
}
end
をそれは$ clockwork app/clock.rb
と私のローカル端末上で実行しているとき。
私はアプリをHerokuにデプロイしました。
RAILS_ENV=production rails r app/clock.rb
as in this SO topicだけ出力は次のとおりです:
Running via Spring preloader in process 13973
をし、それが促すため終了とコメント(at:
ハッシュの値が経過したと仮定して)まだそこにあるその後の端末では、私が実行します。
これは私の最初の個別プロジェクトです。 私の質問は、毎晩真夜中にコメントを自動的に削除するために、このスクリプトを本番でノンストップで実行する方法です。
または
さらに一般的には、
生産中にスクリプトのノンストップを実行する方法。
私はthis SO topicを読んでいますが、その回答は非常に徹底的ではなく、最初のリンクは初心者の方も理解できません。
お返事ありがとうございます。 'every'メソッドが' module Clockwork'で囲まれていないとき、 'NoMethodError'を取得します。囲まれたとき、' clockwork app/clock.rb'を実行している間、私は '初期化されていない定数Clockwork :: Rake'を取得します。私は上記のように3つすべてを要求します。あなたが示唆するように、dev.envで(端末で 'clockwork'を実行しないで)何も起こっていません。 rakeタスクを実行する(私は 'rake -T'を持っています)、dev.envの端末から' clockwork'を実行する必要があります。デベロッパー私のコードは動作しています。問題は、実稼働環境で稼動させる方法です。何か不足していますか? – ToTenMilan