問題タブ [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.
python - ジョブ処理中にpython-gearmanワーカータスクを変更する
作業サイクル中にpython-gearmanワーカーで使用可能なタスクを変更しようとしています。これを行う理由は、ワーカープロセスを少し制御し、データベースからリロードできるようにするためです。すべてのワーカーを定期的にリロードする必要がありますが、単にプロセスを強制終了したくはありません。また、サービスを常に利用できるようにしたいので、バッチでリロードする必要があります。したがって、4人のワーカーをリロードし、別の4人のワーカーを処理できるようにしてから、次の4人のワーカーをリロードします。
プロセス:
- リロードプロセスを4回開始します。
reload
プロセスの登録を解除します- データセットをリロードする
finishReload
タスクを登録する- 戻る
reload
タスクが登録されているワーカーがなくなるまで、手順1を繰り返します。finishReload
使用可能なタスクを持つワーカーがなくなるまで、(1)タスクを開始しfinishReload
ます。
(1)finishReloadタスクは、タスクの登録を解除し、finishReload
タスクを登録してreload
から戻ります。
今、私が遭遇している問題は、ワーカープロセスで使用可能なタスクを変更するとジョブが失敗することです。エラーメッセージや例外はなく、ギアマンドログの「エラー」だけです。これが問題を再現する簡単なプログラムです。
ワーカー
クライアント
私が解明できることがあれば教えてください。
編集:誰かが私が言及したログを見るように頼むことを私は知っています。この質問をGoogleのギアマングループにも投稿しました。ログはそこで利用できます。
windows - Windows OS で GEARMAN を構成またはインストールする方法を教えてください。
プロジェクトに「GEARMAN」を実装したいのですが、Windows OS に「GEARMAN」をインストールまたは設定する方法がわかりません。「GEARMAN」で作業できる場所からのリンクを誰か教えてもらえますか?
python - uniq id で Gearman Jobs のステータスを取得するには?
私が見たすべての場所で説明されているように、開いているハンドラーではなく、これらの一意の ID によって Gearman ジョブのステータスを取得する必要があります。
出来ますか?python-gearman v. 2 での使用...
助けてくれてありがとう!
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'])
このコード (ブロッキング) は正常に動作します。
そして、このクライアントは正常に動作しません(タスクのステータスを更新せず、データ/結果を取得しません):(
どうすればこのデータを正常に取得できますか? 私のバックグラウンド タスクは数時間動作し、メッセージでステータスに関する情報を送信するためです。
gearman - ギアマンの仕事を遅らせる/延期する方法は?
異なるサーバー上のデータを同期するためにギアマンを使用しています。1 つのメイン サーバーと、たとえば 10 のローカル サーバーがあります。考えられる状況の1つを説明しましょう。たとえば、ギアマンが作業を開始し、5 つのジョブが完了し、その 5 つのサーバーのデータが同期されたとします。たとえば、次のジョブの実行が開始されると、サーバーとの接続が失われ、現在使用できません。ギアマンのロジックで何度もリトライ。したがって、残りのジョブ (サーバー 7、8、9、10 用) は、6 番目が完了するまで実行されません。最善の解決策は、ジョブを延期してキューの最後に配置し、ジョブ 7 ~ 10 の作業を継続することです。
誰かがそれを行う方法を知っている場合は、方法を投稿してください。
PS: Python を使用しています。
gearman - PYTHONGearmanWorkerはマルチタスクを受け入れます
例:「URLDownload」という名前のタスクがあります。タスクの機能は、インターネットから大きなファイルをダウンロードすることです。これでワーカープロセスが実行されていますが、ダウンロードするファイルは約1000個あります。クライアントプロセスが1000個のタスクを作成し、それらをGearmanServerに送信するのは簡単です。
私の質問は、ワーカープロセスがタスクを1つずつ実行するか、一度に複数のタスクを受け入れるかということです。
ワーカープロセスがマルチタスクを受け入れることができる場合、ワーカープロセスでタスクプールサイズを制限するにはどうすればよいですか。
django - django-gearman-commands を使用してワーカーを常に動作させることができません
私は django-gearman-commands を使用して、このドキュメント( http://pypi.python.org/pypi/django-gearman-commands/0.1 )のようにいくつかの作業を行います。最初にワーカーを実行すると、うまく機能しますが、 DBから選択クエリを作成するのと同じように別のジョブを送信すると、このワーカーを再起動するまで機能しません。ワーカーは一度だけうまく機能することがわかりました。労働者がうまく働けないとき、私が提出した価値を得ることができますが、仕事を続けることはできません。誰かが私を助けてくれることを願っています。これが私のコードです:
ジョブを最初に送信するとうまくいきますが、別のジョブを送信すると、投稿が見つかりませんと表示されます。
django - Django、Tastypie、Redis、およびタスク キュー Gearman を使用して、Facebook のようなニュース フィードを作成する方法は?
Django、Tastypie (Django の Web サービス API フレームワーク)、Redis (キー値ストア)、および Gearman (タスク キュー) のみを使用して、Facebook のニュース フィードに似たニュース フィードを作成する方法についてのチュートリアルを推奨または作成できますか?
現在、ユーザー モデル、投稿モデル、お気に入りモデル、コメント モデルがあります。これらのモデルを使用して Tastypie リソースを作成し、お気に入り、いいね、コメント、投稿を可能にしました。
ユーザーに直接適用されるフィード アクションを生成する方法を知りたいです。例えば:
上記のテクノロジを使用してアクティビティ フィードを作成する方法について、詳細な例とチュートリアルが必要です。どんな助けでも大歓迎です。
nonblocking - Gearman submit_multiple_jobs のノンブロッキング ジョブのステータスを取得するにはどうすればよいですか?
バックグラウンド ジョブまたは Gearman クライアントによるノンブロッキング リクエストが成功したかどうかを確認するにはどうすればよいですか?