2012-02-05 4 views
2

例えば、100秒からカウントダウンするリアルタイムサーバーサイドタイマーについては、いくつかのアドバイスが必要です。サーバーサイドタイマーの理由は改ざんされていません。ルビーアプリケーションでのルビーの時間をカウントするリアルタイムタイマー

  • は現在、私はcreatindジョブによって毎秒タイマーを模倣することができ、リアルタイムではない遅延仕事が、問題を使用していますが、汚れたソリューション

  • 方法にAJAX呼び出しでタイマ値を取得することによってビューに時刻を表示する必要がありますそれはページ上のservertimeを返します。アイデアを与えるためにこれを行う方法を知っている。リロード・タイマーはリロード・ページでも正しくカウントダウンします。

誰かがレールアプリのサーバサイドでリアルタイムカウンタを取得するようアドバイスできますか?私はrailsappで値を得ることができる1つ以上の独立したタイマーを作成したいと思う。

+0

なぜ重要ですか?なぜあなたは仕事にカウントダウンする時間がないのでしょうか? – cHao

+0

はい、私のrailsappの時間にそれをクウェーティングバックグラウンドでデーモンのように実行しているservertimerする必要があります。私はdrscribeに複雑な理由があるため、この機能が必要です – Rubytastic

+0

その理由が複雑な場合、それはおそらくあなたが思っているほど良い理由ではありません。シンプルさはほとんど常に良いです。 – cHao

答えて

1

なぜあなたは必要なレコードを作成するだけで、「表示しないでください」という「DateTime」フィールドを追加して、それを表示してよいかどうかを確認できますか?

このようなことは簡単ではありません。JavaScriptでカウントダウンするようにクライアントにタイマーを設定してから、適切なタイミングで最終データでページをリロードしてください。

time_left_in_seconds = record.show_at.to_i - Time.now.to_i 

次に、あなたがしなければならないすべては、その後、秒の数のためのJavaScriptタイマーを示している:誰かが早くせっかちとリロードであれば、簡単な数学を使用して示すことができる前に、あなたは残りの秒数を計算することができますページをリフレッシュする。

+0

ビュー側の大きな部分解決策ですが、JSを編集することで改ざんできますか?私はサーバサイドに、アプリケーションからのいくつかのパラメータを使ってページをリロードする必要があります。あなたの解決策で可能なことは確かではありませんが、タイマーのカウントダウンを解決するには素晴らしいthxが役立ちます! – Rubytastic

+0

あなたはクライアント側のタイマーでハックすることができます。サーバーが 'show_at'時間が到着するまで商品の咳を拒否するという事実は変わりません。必要ならばページをリロードしたり、有用なjQuery 'get'関数を使ってページの一部をリフレッシュすることができます。 – tadman

関連する問題