Fedora、PHP/Gearman/MySQL/Drizzle を実行しています。
Gearman/Drizzle をソースからビルドし、Linux/Fedora ボックスでプロセスを実行します。mysql テスト テーブルを作成したところ、Gearman Daemon インスタンスが mysql サービスにアクセス/インターフェースできることがわかります。TCP を使用して、Gearman と mysql のプロセスを同じボックスで実行しています。
Gearman が開始され、MySQL アカウントを指すと、Gearman プロセスの実行時に表示される DEBUG 情報に最初の選択ステートメントが表示されます。
ただし、クライアントからのジョブが mysql テーブルに格納されていることを実際にテストするために何をする必要があるのか わかりません。
Gearman Client/Worker の「レビュー」テストを複製するテスト クライアントを作成しました。このテストは通常、Worker が実行されている場合に機能し、Worker なしでクライアントを実行しました。DEBUG プロセスで、クライアントが Gearman デーモンに接続していることがわかりますが、mysql テーブルを調べると、テーブルには何もありません。
したがって、私の質問は、ジョブ/データが実際のmysqlテーブルに実際に書き込まれていることを実際に確認/確認できるようにするために何をする必要があるかを判断することに要約されます。
ワーカーによって処理されない場合、データが mysql テーブルに格納されることを確立するためにどこかを呼び出す特定のフラグ、メソッドはありますか? ジョブをテーブルに保存し、処理後に削除するべきではありませんか? それとも、フローに何かが欠けていますか?