問題タブ [python-rq]

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 投票する
0 に答える
556 参照

python - python-rq で rqworker を実行する方法

Webhook を受信して​​処理するために使い始めたばかりの Ubuntu ボックス (ngnix と uwsgi) に小さな Python フラスコ Web サーバーがあります。Webhook 処理の一部に電子メールの送信が含まれる場合がありますが、これにより遅延が発生し、Webhook を送信するサーバーへの応答がブロックされることに気付きました。

これを軽減する方法を研究しているときに、関数呼び出しをキューに入れ、すぐに Webhook に応答できるpython-rq (別名 rq) を発見しました。テストでは、これはうまく機能します。

サーバーでテストしており、rq を開始するrqworkerには、Web サイトと同じディレクトリで実行する必要があります。これはテストには最適ですが、実行を続けるためだけにサーバーにログインして rq を開始する必要はありません。

私が遭遇したいくつかのアイデア:

  • python-rq ドキュメントにはスーパーバイザーについて言及されていますが、http://python-rq.org/patterns/supervisor/ですが、それほど多くのオーバーヘッドが必要かどうかはわかりません。
  • 再起動を使用して、単純な cron ジョブでうまくいくでしょうか?

これは小さな内部専用サーバーです。私はそれを過度に設計したくはありません (私はすでにその方向に忍び寄っているように感じます)。

Web サイトのアプリケーション ディレクトリで rqworker を単独で実行するように設定するにはどうすればよいですか?

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

python - python-rq アプリでの DB ポーリングの回避

python-rq を使用して実行時間の長いジョブをスケジュールする Flask アプリケーションがあります。私の要件の 1 つは、ユーザーがいつでも実行するジョブの数を指定できることです。

ユーザーが現在実行中のジョブよりも小さい値を使用した場合、アプリはジョブを強制終了する必要はありませんが、ユーザーが制限を増やした場合に別のジョブを生成する必要があります。

ジョブを実行するには、rq ワーカーに時間がかかりますが、ジョブを子守する必要はなく、安全に実行して次のジョブに進むことができます。

私の問題は、初期セットアップ フェーズに時間がかかる場合があるため、ワーカーを 1 つだけ使用するのは理想的ではない可能性があることです。私をさらに悩ませているもう 1 つの問題は、このスキームを使用すると、rq ワーカーがデータベースをポーリングして、別のジョブを開始できるタイミングを知る必要があることです。これを設計するためのより良い方法はありますか?

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

python-3.x - python-rq rqworker を python 3 の UWSGI でアタッチされたデーモンとして ASCII エンコーディング エラーなしで実行するにはどうすればよいですか?

UWSGI で添付デーモンとして rqworker を実行しようとしています。これを行うには、config.ini ファイルに次を追加します。

その後、UWSGI は必要なときに rqworker を起動しようとしますが、ログに次のエラーが記録されます。

RuntimeError: Python 3 は環境のエンコーディングとして ASCII を使用するように構成されているため、Click はそれ以降の実行を中止します。軽減策については、Python 2 に切り替えるか、http://click.pocoo.org/python3/を参照してください。

bash から rqworker を正常に実行できますが、デーモンのエンコーディングが正しく設定されていないようです。

0 投票する
8 に答える
4378 参照

python - RQ AttributeError: 'module' オブジェクトに属性がありません

RQ でバックグラウンド ジョブを作成しようとしています。

このエラーが発生し続けますが、何かばかげたことをしているように見えますか?

'

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

python - RQ ワーカー/Redis/Flask の ImportError

この設定に問題があります。要約すると、ユーザーがフォームで送信を押すと、データが RQWorker と Redis に渡されて処理されます。

からのエラーrqworker

さまざまな方法で rqworker を起動してみました

ビュー.py

process_feed期待どおりに機能するという関数がprocess_checksあります。

RQ の代わりに以下の行を使用すると正常に動作するため、これが機能していることはわかっています。

奇妙なことに、VPS への SSH 接続を閉じる前に、これはすべて完全に機能していました。

Runningps -auxは、redis が実行中であることを示す this を返します

redis を再起動しても何も起こらず、apache2 を再起動しても何も起こりません

私はこのガイドに正確に従いました。私が言ったように、VPSへのSSH接続を終了するまでこれは機能しました

違いがある場合は仮想環境で実行しています。WSGIファイル内でこれを呼び出しています

min_content.wsgi

'

これをスクリプトに追加することで、Redisサーバーが実行されていることを確認しました

ランニングredis-cliリターン127.0.0.1:6379>

process_feed.py

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

python - Sentry への Django-RQ 例外の送信

バックグラウンド タスクを処理するために、Heroku アプリケーションで Django-RQ を使用しています。

バックグラウンド タスクでエラーが発生すると、Sentry に送信されません。

settings.py のログ設定は以下のとおりです。

私が間違っていることについてのヒントをいただければ幸いです。