2016-09-15 4 views
0

テーブルに「status」と「datetime」の2つのフィールドがあります。ステータスは「保留」、「延期」、「完了」、「欠落」のいずれかです。現在の日付と時刻を確認してステータスフィールドを自動更新するバックグラウンドジョブを実装するにはどうすればよいですか。どのように私はRails 5でそれを行うことができますか?Railsの現在の日付と時刻を確認して、テーブルのステータスフィールドを自動更新します。

答えて

0

しばらくすると実行されるcronジョブを作成します。 https://github.com/javan/wheneverを使用できます。
ジョブのためのレーキタスクを作成します。
あなたが背景でsidekiq(https://github.com/mperham/sidekiq)を使用することができます 保存

自分のステータス=、ステータスを更新し、現在の日付が「ある条件」であるかどうかをチェックするコードを書く熊手でschedule.rb
からrakeタスクを呼び出します処理。

使用宝石「AASM」.Readドキュメント私は、これはあなたを助けることを願っていますhttps://github.com/aasm/aasm から:

同じ問題に1つの代替ソリューションがあります。

+0

代わりのソリューション - ステートマシン - ははるかに安全です。バックグラウンドジョブを実行すると、オンザフライで計算された実際のステータスは、DBの「ステータス」フィールドにある値とは異なります。 –

関連する問題