ユーザーが私のRailsアプリケーションにコメントを投稿するときに、コメントを外部のWebサービスにプッシュしたいと思います。この外部Webサービスは低速になる可能性があるため、このプッシュを非同期にします。Webサービスからの応答には興味がありません。
1 に答える
1
タスク キューとバックグラウンド ワーカーを使用する最良の方法。
たとえば、 Sidekiqを見てください。またはBackgroundJob。またはレスキュー。
基本的に、Rails アプリで「これをバックグラウンドで呼び出したい」と言って、タスクをキューに入れます ( redis / mysql / erlang /whatever によってバックアップされます)。次に、別のプロセス (バックグラウンド ワーカー) がキューからタスクを取得して実行します。
簡単な解決策として、スレッドを使用できます。
Thread.new do
# this stuff will be executed asynchronously
end
ただし、これは非常に小さなアプリにのみ適しています。高負荷下でこれを試さないでください。
于 2013-01-29T09:03:08.350 に答える