私は..私は基本的に新しいシナトラメソッドを作成したい... Resque/Redisのために、以下のようなものを%resque-statusの完了をどのように出力するのですか?
https://github.com/quirkey/resque-status
をresqueステータスを使用しています。私は2つのJobsWithStatusしか持っていないので、どちらか特定のものを返すこともあれば、本当に気にしないこともあります。
post '/getstatus' do
# return status here of all kinds (or specific)
end
は、それから私は、ステータスごとに5秒をチェックするポーリングタイマーを使用してフロントエンド上のjqueryの経由%が完全に出力したいです。
これは、私はそれが私がちょうどstatus.pct_completeを使用することができますドキュメントで述べているが、それは常に0を返す
post '/refresh' do
job_id = PostSaver.create(:length => Forum.count)
status = Resque::Status.get(job_id)
redirect '/'
end
を持って何ですか?それでも、私はRubyが新しく、変数が適切な%完了を示したとしても、その変数を別のsinatraエントリ(/ refreshではなく/ getstatus)の内部でどのように動作させるかわかりません。
しかし私はこれを試してみましたが、それが0
post '/refresh' do
job_id = PostSaver.create(:length => Forum.count)
status = Resque::Status.get(job_id)
sleep 20
status.pct_complete.to_s
end
ありがとうございます!完璧。 – Tallboy
睡眠は%年齢の時間を0にするテストと同じように、私は別のシナトラメソッドでそれを持っていきます。これは、 '/ refresh'メソッドの 'status'変数を '/ getstatus'メソッドのように他の場所で利用できるようにするための基本的な質問です。 – Tallboy
一般に、アクション間で変数を共有することはありません。例外は、あなたが別のものからアクションをレンダリングしている場合です(これはsinatraで行うこともできません)。それはルビーなので、いつも何らかの状態メソッドを定義して呼び出すことができます。何かを編集して、私が何を意味するかを見ることができます。 –