5

私はapache2/mod_perlWebサイトを持っています。1つのページで、SOAPを介してサーバー/サーバー通信を行う必要があります。

この通信の結果は、ページのレンダリングには必要ありません(ただし、この通信をトリガーするにはユーザー入力が必要です)。

SOAP通信は非常に遅いです。

ですから、私がやりたいのは、ユーザーのためにページを処理して印刷し、その後、すべてのSOAP処理をバックグラウンドで実行することです。

これを達成するための最良の方法は何ですか?フォークを始めますか?ジョブをファイルに書き込み、cronジョブにそれを取得させますか?

ありがとう

4

1 に答える 1

7

解決策には2つのタイプがあります。最初に、ランダル・シュワルツがここで提案したことを実行できます。次に、 BeanstalkGearmanなどのメッセージキューを使用できます。BeanstalkにはPerlクライアントがあり、永続的であり、軽量のものに最適です。一方、Gearmanには、より多くの機能があり、より多くの作業が行われています。TheSchwartzもあります-あまり多くのドキュメントなしでできる場合はそれを使用してください。cron体系的にタスクを繰り返すのに理想的です。使用しているアプリケーションの種類については、より一般的な「メッセージキュー」を使用する場合は、Schedule::Atの方が適切な場合があります。

こちらの古いStackOverflowスレッドもご覧ください

于 2009-12-18T16:35:06.303 に答える