私は、企業が広告キャンペーンを購入するレールでRubyでアプリケーションを開発しています。まず、自分のサイトのアカウントにクレジットを購入し、そのクレジットでキャンペーンを購入します。事は、キャンペーンがビュー/クリックごとに支払われることです。企業は各キャンペーンごとにクレジットの予算を予約し、これらの予約されたクレジットは他のキャンペーンの購入には使用できません。キャンペーンが終了し、すべてのクレジットが使用されているわけではない場合、それらは予約されず、より多くのキャンペーンを購入することができます。使用しない場合、特定の時間に後退する予約金額
私の質問は:
どのように最善の構造、データベース内のモデルとどのように/準備/非準備金のクレジットを移動します。これは今、私に数日間頭痛を与えています。
編集:
私は以下の回答にコメントしたように、このための私のナンバーワンの目標は、定期的にバックグラウンドプロセスに未予約する必要があります任意のクレジットをチェックすることです。
バックグラウンドプロセスへの依存を避けることが私の目標です。さもなければこれは1つの解決策になります。 – Godisemo
あなたのオプションは、「そのキャンペーンは終わった」という処理を手動で行うことです。その場合は、プロセスの開始方法を除いて実装が同じか、キャンペーンのクリックでそれを行い、「そうですキャンペーンは終わった、私はそれを閉じます "。解決策は同じで、トリガーメカニズムは異なります。 –
今、私はあなたが意味することを理解しています。あなたの解決策は私の答えに書いたものと同じです。私は私の答えを書く前にそれを見ませんでした。それが同じであれば、私たちの両者がそれについて考えたとき、それはおそらく良い考えです。 – Godisemo