問題タブ [python-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.

0 投票する
2 に答える
1177 参照

python - ジョブ処理中にpython-gearmanワーカータスクを変更する

作業サイクル中にpython-gearmanワーカーで使用可能なタスクを変更しようとしています。これを行う理由は、ワーカープロセスを少し制御し、データベースからリロードできるようにするためです。すべてのワーカーを定期的にリロードする必要がありますが、単にプロセスを強制終了したくはありません。また、サービスを常に利用できるようにしたいので、バッチでリロードする必要があります。したがって、4人のワーカーをリロードし、別の4人のワーカーを処理できるようにしてから、次の4人のワーカーをリロードします。

プロセス:

  1. リロードプロセスを4回開始します。
    1. reloadプロセスの登録を解除します
    2. データセットをリロードする
    3. finishReloadタスクを登録する
    4. 戻る
  2. reloadタスクが登録されているワーカーがなくなるまで、手順1を繰り返します。
  3. finishReload使用可能なタスクを持つワーカーがなくなるまで、(1)タスクを開始しfinishReloadます。

(1)finishReloadタスクは、タスクの登録を解除し、finishReloadタスクを登録してreloadから戻ります。

今、私が遭遇している問題は、ワーカープロセスで使用可能なタスクを変更するとジョブが失敗することです。エラーメッセージや例外はなく、ギアマンドログの「エラー」だけです。これが問題を再現する簡単なプログラムです。

ワーカー

クライアント

私が解明できることがあれば教えてください。

編集:誰かが私が言及したログを見るように頼むことを私は知っています。この質問をGoogleのギアマングループにも投稿しました。ログはそこで利用できます

0 投票する
3 に答える
8080 参照

windows - Windows OS で GEARMAN を構成またはインストールする方法を教えてください。

プロジェクトに「GEARMAN」を実装したいのですが、Windows OS に「GEARMAN」をインストールまたは設定する方法がわかりません。「GEARMAN」で作業できる場所からのリンクを誰か教えてもらえますか?

0 投票する
1 に答える
2121 参照

python - uniq id で Gearman Jobs のステータスを取得するには?

私が見たすべての場所で説明されているように、開いているハンドラーではなく、これらの一意の ID によって Gearman ジョブのステータスを取得する必要があります。

出来ますか?python-gearman v. 2 での使用...

助けてくれてありがとう!

0 投票する
1 に答える
2562 参照

python - Python Gearman はバックグラウンド タスクからデータを取得します

バックグラウンドタスクでギアマンを使用して、ワーカーからデータの進行状況を取得しようとしています。ドキュメントでは、send_job_data と send_job_status というメソッドが表示されていますが、バックグラウンドで最初のメソッドが機能しません (job.data_updates にデータが表示されません) が、job.status でステータスが変更されます。

私はテスト ワーカーにこのコードを使用しています: from gearman import GearmanWorker import time

クライアントからのこのコード: from gearman import GearmanClient client = GearmanClient(['192.168.1.79:4730'])

このコード (ブロッキング) は正常に動作します。

そして、このクライアントは正常に動作しません(タスクのステータスを更新せず、データ/結果を取得しません):(

どうすればこのデータを正常に取得できますか? 私のバックグラウンド タスクは数時間動作し、メッセージでステータスに関する情報を送信するためです。

0 投票する
2 に答える
893 参照

gearman - ギアマンの仕事を遅らせる/延期する方法は?

異なるサーバー上のデータを同期するためにギアマンを使用しています。1 つのメイン サーバーと、たとえば 10 のローカル サーバーがあります。考えられる状況の1つを説明しましょう。たとえば、ギアマンが作業を開始し、5 つのジョブが完了し、その 5 つのサーバーのデータが同期されたとします。たとえば、次のジョブの実行が開始されると、サーバーとの接続が失われ、現在使用できません。ギアマンのロジックで何度もリトライ。したがって、残りのジョブ (サーバー 7、8、9、10 用) は、6 番目が完了するまで実行されません。最善の解決策は、ジョブを延期してキューの最後に配置し、ジョブ 7 ~ 10 の作業を継続することです。

誰かがそれを行う方法を知っている場合は、方法を投稿してください。

PS: Python を使用しています。

0 投票する
1 に答える
593 参照

gearman - PYTHONGearmanWorkerはマルチタスクを受け入れます

例:「URLDownload」という名前のタスクがあります。タスクの機能は、インターネットから大きなファイルをダウンロードすることです。これでワーカープロセスが実行されていますが、ダウンロードするファイルは約1000個あります。クライアントプロセスが1000個のタスクを作成し、それらをGearmanServerに送信するのは簡単です。

私の質問は、ワーカープロセスがタスクを1つずつ実行するか、一度に複数のタスクを受け入れるかということです。

ワーカープロセスがマルチタスクを受け入れることができる場合、ワーカープロセスでタスクプールサイズを制限するにはどうすればよいですか。

0 投票する
0 に答える
213 参照

django - django-gearman-commands を使用してワーカーを常に動作させることができません

私は django-gearman-commands を使用して、このドキュメント( http://pypi.python.org/pypi/django-gearman-commands/0.1 )のようにいくつかの作業を行います。最初にワーカーを実行すると、うまく機能しますが、 DBから選択クエリを作成するのと同じように別のジョブを送信すると、このワーカーを再起動するまで機能しません。ワーカーは一度だけうまく機能することがわかりました。労働者がうまく働けないとき、私が提出した価値を得ることができますが、仕事を続けることはできません。誰かが私を助けてくれることを願っています。これが私のコードです:

ジョブを最初に送信するとうまくいきますが、別のジョブを送信すると、投稿が見つかりませんと表示されます。

0 投票する
2 に答える
919 参照

python - 基本的なpython-gearmanの例の実行中にエラーが発生しました

ここで入手できるpython-gearmanライブラリを使用してgearmanの基本的な例を実行しようとしています。私はPython2.7.3を実行しています

ワーカー:

クライアント:

次のエラーが発生します(完全なトレースはここで入手できます)

どんな助けでもいただければ幸いです!

ありがとう。

0 投票する
1 に答える
1909 参照

django - Django、Tastypie、Redis、およびタスク キュー Gearman を使用して、Facebook のようなニュース フィードを作成する方法は?

Django、Tastypie (Django の Web サービス API フレームワーク)、Redis (キー値ストア)、および Gearman (タスク キュー) のみを使用して、Facebook のニュース フィードに似たニュース フィードを作成する方法についてのチュートリアルを推奨または作成できますか?

現在、ユーザー モデル、投稿モデル、お気に入りモデル、コメント モデルがあります。これらのモデルを使用して Tastypie リソースを作成し、お気に入り、いいね、コメント、投稿を可能にしました。

ユーザーに直接適用されるフィード アクションを生成する方法を知りたいです。例えば:

上記のテクノロジを使用してアクティビティ フィードを作成する方法について、詳細な例とチュートリアルが必要です。どんな助けでも大歓迎です。

0 投票する
1 に答える
262 参照

nonblocking - Gearman submit_multiple_jobs のノンブロッキング ジョブのステータスを取得するにはどうすればよいですか?

バックグラウンド ジョブまたは Gearman クライアントによるノンブロッキング リクエストが成功したかどうかを確認するにはどうすればよいですか?