まず最初に、私はこの質問を認識しています:
私が知りたいのは、ギアマンでもそうですか?画像 URL のバッチを PHP Web アプリケーションからギアマン ワーカー (これも PHP で記述されています。これを「メイン ワーカー」と呼びます) に送信して、非同期的に処理することを計画しています。次に、このワーカーは、イメージごとに個別のタスクを下位層のワーカーに送信し (addTask() を介して)、runTasks() を呼び出し、タスクが終了するのを待ちながら、例外をリッスンし、エラー メッセージを蓄積し、全体的なジョブ ステータスを更新します。
jobStatus() 呼び出しを使用してメイン ワーカーから全体的なステータスを取得することはまったく問題ありませんが、[false, false, 0, 0] が返されたときにすべての画像が処理されたと言ってください。一部の画像をそれぞれの URL から取得できなかったこと、またはサーバーに保存できなかったことをユーザーに通知します。
カスタム データを memcache に保存し、それを Web アプリから取得することはいつでもできると思いますが、私には「汚い」ように思えます...
php.netのマニュアルで見たところ、タスクが同期的に送信された場合にのみ例外処理を実行できるため、結果を取得しようとはしていません。カスタムデータの取得については言及していません。私が見逃している何かがあるかもしれないことを願っていました。私は正しく覚えています.libgearman6(v 0.27)とPHP 5.3.10でUbuntu Server 12.04を使用しています。Gearman エクステンションのバージョンは 1.0.2 です。どちらのワーカーでも使用しないため、データベースはここでは関係ないと思います。また、現在は永続的なキューを使用していないと思います。