ここには 3 つの resque ワーカーがあり、データを処理して変換します。ここで、データを送ってくれた人に応答を送信する必要があります。返信を送信するにはどうすればよいですか? resque には、クライアントに応答を送信する非同期の方法がありますか?
質問する
180 次
1 に答える
1
Resque はそれを行うことはできません (また、そのように設計されたことはありません) が、通信メカニズムとして redis またはデータベースを使用できます。長時間実行されるタスクを処理するときに、実際にこれを行います。たとえば、ジョブをキューに入れるときに redis で新しいキーを作成し、そのキーをジョブの引数で渡します。ジョブが処理されると、redis でそのキーが更新される場合があります。そのジョブをエンキューした人は誰でも、その redis キーの変更を監視するだけで済みます。
ポーリングに問題がある場合は、より効率的な「プッシュ」タイプのソリューション (アプリ内のコントローラーへの HTTP 通知やソケットなど) もありますが、ワーカーが 3 つしかない場合は、そうあるべきとは思えません。
于 2012-05-22T13:03:13.973 に答える