私は現在、バックエンドでいくつかの高価なデータインポートジョブを実行するためにGearmanを評価しています。これまでのところ、これは非常に有望に見えます。しかし、私が情報を見つけることができないように見える1つの部分が欠けています。Gearmanからスケジュールジョブのリストを取得するにはどうすればよいですか?
管理プロトコルを使用して、各関数の現在キューに入れられているジョブの数を取得できることはわかっていますが、実際のジョブに関する情報が必要です。永続キュー(MySQLなど)を使用してデータベースにジョブを照会するオプションもありますが、この種の情報についてGearmanを回避することは私にはかなり間違っていると感じています。それ以外は、私はアイデアがありません。
おそらく私はこれをまったく必要としません:)それで、私がやりたいことについてのもう少しの背景があります、私はより良い提案のためにすべて開いています。クライアントとワーカーの両方がPHPで実行されます。管理インターフェースでは、管理者はクライアントの新しいインポートをトリガーできます。インポートはバックグラウンドタスクとして開始されるのに時間がかかるためです。答えたい簡単な質問です。このクライアントの最後のインポートはいつ実行されましたか?このクライアントのインポートはすでにキューに入れられていますか(その場合、新しいインポートをトリガーしても効果はありません)?ありがたいこと:このジョブはキューのどの位置にありますか(実行されるタイミングを見積もることができます)?
ありがとう!