問題タブ [gearman]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - スレッド化された画像処理と非同期の画像処理?
アクセスすると画像を生成するPython関数があります。HTTPリクエストで直接呼び出すか、Gearmanを使用して非同期で呼び出すことができます。たくさんのご要望があります。
どちらが良いですか:
- インライン-画像をインラインで作成します。一度に多くの画像が生成されます
- 非同期-(Gearmanを使用して)ジョブをキューに入れ、ワーカーで画像を生成します
どちらのオプションが良いですか?
この場合、「より良い」とは、最高の速度/負荷の組み合わせを意味します。画像生成の例は、データベース接続などにも適用できるため、象徴的です。
python - Gearman + SQLAlchemy - MySQL スレッドを失い続ける
複数のギアマン ワーカーを設定する Python スクリプトがあります。それらは、Pylons アプリでも使用されている、私が持っている SQLAlchemy モデルのいくつかのメソッドを呼び出します。
1 ~ 2 時間はすべて正常に動作しますが、その後 MySQL スレッドが失われ、すべてのクエリが失敗します。pool_recycle にこのような低い値を定義しているときに、スレッドが失われる理由がわかりません (3 つの異なるサーバーで同じ結果が得られます)。また、新しい接続が作成されないのはなぜですか?
調査するアイデアはありますか?
php - sqlite同時実行一括挿入
私はsqlLiteが挿入よりもSELECTに、特にデータベースファイル全体をロックするので同時実行挿入に適していると読みましたが、最後のポイントを知りたいです:)。
だから私はそのようなことで自分自身をトラブルに巻き込むかどうか疑問に思っています:
コードはギアマンワーカー内にあるので、複数のインスタンスがあります。
前もって感謝します。
php - ギアマンのチュートリアルはありますか?
総合的な Gearman チュートリアル (できれば PHP API を使用) を探しています。プロセスの流れを理解しようとしています。デーモンを実行するように設定し、クライアントとワーカーを作成しましたが、Gearman でそれらをどのように処理しますか (ワーカーの追加/削除など)?
php - Gearman と PHP: ワーカーが失敗を返す適切な方法
PHP ドキュメントはこれについて少し曖昧なので、ここで質問しています。このワーカー コードが与えられた場合:
発生したエラーをクライアントに通知する適切な方法は何ですか? false を返しますか? GearmanJob::sendFail() を使用しますか? 後者の場合、sendFail() を呼び出した後、doSomethingFunc() から戻る必要がありますか? 戻り値は sendFail() が返すものであるべきですか?
クライアントは GearmanClient::returnCode() を使用してエラーをチェックしています。さらに、「return $value」を使用するだけでも機能するようですが、代わりに GearmanJob::sendData() または GearmanJob::sendComplete() を使用する必要がありますか?
python - ジョブ処理中にpython-gearmanワーカータスクを変更する
作業サイクル中にpython-gearmanワーカーで使用可能なタスクを変更しようとしています。これを行う理由は、ワーカープロセスを少し制御し、データベースからリロードできるようにするためです。すべてのワーカーを定期的にリロードする必要がありますが、単にプロセスを強制終了したくはありません。また、サービスを常に利用できるようにしたいので、バッチでリロードする必要があります。したがって、4人のワーカーをリロードし、別の4人のワーカーを処理できるようにしてから、次の4人のワーカーをリロードします。
プロセス:
- リロードプロセスを4回開始します。
reload
プロセスの登録を解除します- データセットをリロードする
finishReload
タスクを登録する- 戻る
reload
タスクが登録されているワーカーがなくなるまで、手順1を繰り返します。finishReload
使用可能なタスクを持つワーカーがなくなるまで、(1)タスクを開始しfinishReload
ます。
(1)finishReloadタスクは、タスクの登録を解除し、finishReload
タスクを登録してreload
から戻ります。
今、私が遭遇している問題は、ワーカープロセスで使用可能なタスクを変更するとジョブが失敗することです。エラーメッセージや例外はなく、ギアマンドログの「エラー」だけです。これが問題を再現する簡単なプログラムです。
ワーカー
クライアント
私が解明できることがあれば教えてください。
編集:誰かが私が言及したログを見るように頼むことを私は知っています。この質問をGoogleのギアマングループにも投稿しました。ログはそこで利用できます。
php - 常に稼働しているギアマンワーカー
Gearman Clientをいつでも起動して、バックグラウンドで実行できるようにしたいプロセスがあります。
サーバーへのSSH接続を2つ開き、1つはワーカーを起動し、もう1つはクライアントを実行することで成功しました。これにより、目的の出力が生成されます。
問題は、ワーカーを常にバックグラウンドで実行して、プロセスを実行する必要があるときにいつでもクライアントを呼び出すことができるようにしたいということです。しかし、ワーカーPHPファイルが実行されているターミナルを閉じるとすぐに、クライアントへの呼び出しは機能しません。ワーカーは死んでいるようです。
ワーカーを常にバックグラウンドで実行する方法はありますか?新しいクライアントを呼び出すと、新しいワーカーを起動しなくても機能しますか?
ありがとう!
boost - Yumのバージョンが古い場合にBoostを更新する方法
Gearmanの最新バージョンをインストールしようとしています。しかし、それは私にエラーを与え続けます:
ブーストヘッダーのバージョンを確認しています>=1.37...いいえ
Boostのバージョン(インストールされているyumリスト| grep boost)を確認すると、すべてのバージョンが1.33です。最新のBoostバージョンは1.46ですが、CentOSのリポジトリにはこのバージョンがないようです。
Boostを最新バージョンに更新するためにyumを回避する方法はありますか?
php - ギアマンvsZeroMQ
これらのエンジンを使用した分散アーキテクチャに関するフィードバックはありますか?どちらが最高ですか、それともどの場合が最高の選挙ですか?
よろしく!