2011-07-04 4 views
0

私のレールアプリでは、毎秒異なるタイマーで状態を変更するタイマーがあります。したがって、私はこれにObserverを使うことにしました。しかし、私がオブザーバーを走らせたとき、タイマーが完了するまで私のアプリケーション全体がハングアップしていたことに気付きました。したがって、私はdelayed_jobを使ってバックグラウンドジョブとしてタイマーを保つことを考えていました。Rails Delayed Jobバックグラウンドジョブの値にアクセスする

これで、毎秒タイマーの値を取得し、コントローラーの一部の操作に使用する方法がありますか?例として、異なる時間に現れるイメージのセットがある場合、私は理想的にはタイマーからこの現在の時間をフェッチしたいと思って、イメージのタイミングと現在の時刻が一致すれば、イメージが変化します。したがって、毎秒このような値をバックグラウンドプロセスから取得することは可能ですか?はいの場合は誰でも詳細を教えてください。

答えて

0

遅延ジョブのバックグラウンドプロセスを作成して、タイマー値と対応するイメージリンクをテーブルに保存してください。それからあなたのコントローラーでその値を読み、それに従って行動してください。

+0

ああ、もし私が正しくuを理解すれば、その値をフェッチしてテーブルのフィールドに格納することができ、この値は毎秒右に動的に変化しますか?時間が変わると1から2に変わります。 – Saagar

+0

はい、遅延したジョブが毎秒実行される場合は、Time.nowをどこかのデータベースに保存することができます。 – Dex

+0

それは良いと思う。しかし、ユーザーが画像リンクを表示したい時間とともに入力すると、現在の時間が動的に供給される第3のフィールドが存在するだろう。その場合、ユーザーがフォームページの[作成]ボタンをクリックすると、そのフィールドに格納されている値は何ですか?このオブジェクトがテーブルに作成されると、3番目のフィールドを編集してバックグラウンドプロセスから現在の時間を引き続き入力するにはどうすればよいですか?ここに助けてくれてありがとう! – Saagar

関連する問題