セロリは、ピットの開発を強化しました

セロリは、ピットの開発を強化しました

接続Redisのセロリ

:Redisのブローカーを作るために使用する場合、Redisの接続はパスワードが必要です
BROKER_URL = Redisのを://:[email protected]:6379/0 
xxxxxはパスワードであり、パスワードはコロンの前に追加する必要があります。

 

报错:セロリとValueError:解凍するのに十分ではない値は(0を持って、3を期待)

test.py

インポートからセロリの輸入セロリ
ブローカー = ' :// localhostの6379 Redisの' 
バックエンド = ' 6379/0のRedis:// localhostの' 
セロリ   =セロリ(' my_task '、ブローカー=ブローカー、バックエンド= バックエンド)
celery.task @ 
DEF 追加(X、Y):
    time.sleep( 2.0 リターン X + Y

 

test1.py

試験インポート追加

結果を = add.delay(2,8 、一方 1 もしresult.ready():
         プリント(result.get())
         休憩

 

誤差低減のシナリオ

1.労働者を実行します

セロリ-Aテストワーカー--loglevel =情報

出力:

(アナコンダ)C:\ Pycham \ Redisの>セロリ-Aテストワーカー--loglevel = 情報

  --------------セロリの@ BOS3UA7Y740V4W9のv4.3.0 (ダイオウ)
 ---- *** * ----- 
--- * *** * - Windowsの-10-10.0.17763-SP0 2019年6月1日午後5時02分01秒
- * - **** --- 
- ** - --------- [設定]
 - ** ---------->アプリ:my_task:。0x2200a35b128 
- ** ---------->輸送:Redisの://:** @ localhostを:6379 // 
- ** ---------->結果:Redisの://:** @ localhostの:6379/ 0
 - *** --- * --->同時性:4。(preforkの)
 - ******* ---->タスクイベント:OFF(タスク監視するために-Eを有効、この労働者を)
 --- ***** - ---- 
 --------------  [キュー]>セロリ交換=セロリ(ダイレクト)キー= セロリ


[タスク] test.add 

[ 2019年6月1日17:02:01524:INFO / MainProcess]のRedisに接続://:** @ localhostの:6379 // 
[ 2019年6月1日17:02:01556:INFO / MainProcess]付き合う:検索のための隣人
[:02:02620:2019年6月1日17 INFO / MainProcess]付き合う:すべて一人で
[ 2019年6月1日17:02:02759:INFO / MainProcess]準備BOS3UA7Y740V4W9 @セロリを。 2019年6月1日17:02:03309:INFO / SpawnPoolWorker-2]子プロセス16140 self.runを呼び出す()
[ 2019年6月1日17:02:03333:INFO / SpawnPoolWorker-4]子プロセス10908呼び出しself.run() 
[ 2019年6月1日17:02:03372:INFO / SpawnPoolWorker-3]子プロセス2400 を呼び出すself.run()
[ 2019年6月1日17:02:03434:INFO / SpawnPoolWorker-1]子プロセス13848呼び出しself.run()

 

2.ファイル名を指定して実行test1.py

 

test1.py出力

トレースバック(最新の呼び出しの最後):
  ファイル" C:/Pycham/redis/test1.py "、7行目、、<モジュール>
     プリント(result.getは())
  ファイル" C:\ Pycham \アナコンダ\ libに\部位特異的パッケージ\セロリの\ result.py "行215、のget 
    self.maybe_throw(コールバック = コールバック)
  ファイル" C:\ Pycham \アナコンダ\ libに\のsite-packages \セロリの\ result.py "、行331、maybe_throwの
    自己.throw(値、self._to_remote_traceback(TB))
  ファイル" C:\ Pycham \アナコンダ\ libに\のsite-packages \セロリの\ result.py "、ライン324、スロー
    self.on_ready.throw( * argsを、** kwargsから)
  ファイル" :C \ Pycham \アナコンダ\ libに\のsite-packages \つるの\ promises.py "、行244、スロー
    リレイズ(タイプ( EXC)、EXC、TB)
  ファイル" C:\ Pycham \アナコンダ\ libに\サイトパッケージは\つるの\ five.py "、行195、リレイズの
     昇給の
とValueError:ありません(3期待に十分な値をアンパックし、0を得ました)

 

ワーカー出力:

[2019年6月1日17:03:59484:INFO / MainProcess]受信タスク:test.add [33ee3342-064e-47ef-8f8b- 95d65955fd89] 
[ 2019年6月1日17:03:59491:ERROR / MainProcess]タスクハンドラは、エラーが発生した:とValueError(' 解凍しないように十分な値(、3を期待0だ)' 
トレースバック(最新の呼び出しは、最後の):
  ファイル" C:\ pycham \アナコンダ\ libに\のsite-packages \ビリヤードの\ pool.py "、ライン358、ワークループ
    結果 =(真、prepare_result(楽しい(* argsを、** kwargsから)))
  ファイル" C:\ pycham \アナコンダ\ libに\のsite-packages \セロリ\アプリの\のtrace.py "、行544 、_fast_trace_task
    タスク、受け入れ、ホスト名 = _loc 
とValueError:ありません(、3を期待0を得た)解凍するのに十分な値

 

ソリューション:

インストールeventlet

eventletをインストールするPIP

 

今、私たちは再び戻ってきます

1.労働者を実行します

セロリ-Aテストワーカー-l情報-P eventlet

 

2.ファイル名を指定して実行test1.py

10

 

このタイム労働者の出力において

(アナコンダ)C:\ Pycham \ Redisの>セロリ-Aテストワーカー-l情報- Pのeventlet

  --------------セロリの@ BOS3UA7Y740V4W9のv4.3.0 (ダイオウ)
 ---- ** ** ----- 
--- * *** * - Windowsの-10-10.0.17763-SP0 2019年6月1日17時08分45秒
- * - **** --- 
- ** ---------- [設定]
 - ** ---------->アプリ:my_task:。0x16e16d0c0f0 
- ** ---------->輸送。: Redisの://:** @ localhostの:6379 // 
。 - ** ---------->結果:Redisの://:** @ localhostの:6379/ 0
 - *** --- * --->同時性:4。(eventlet)
 - ******* ---->タスクイベント:OFF(タスクを監視するために-Eを有効この
労働者)
 --- ***** ----- 
 --------------[キュー]
 - *** --- * --->並行性:4。(eventlet)
 - ******* ---->タスクイベント:OFF(タスク監視する-Eを有効これを労働者)
 --- ***** ----- 
 -------------- [キュー] >セロリ交換=セロリ(ダイレクト)キー= セロリ


[タスク] test.add

 - ******* ---->タスクイベント:OFF(タスク監視するために-Eを可能にします。、この労働者を)
 --- ***** ----- 
 ---- ---------- [キュー] >セロリ交換=セロリ(ダイレクト)キー= セロリ


[タスク] test.add 

[2019年6月1日17:08:45387:INFO / MainProcess]のRedisに接続://:** @ localhostの:6379 // 
[ 2019年6月1日17:08:45401:INFO / MainProcess]付き合う:検索のために隣人
[ 2019年6月1日17:08:46434:INFO / MainProcess]付き合う:すべて一人で
[ 2019年6月1日17:08:46452:INFO / MainProcess] pidbox:Redisの接続://:** @ localhostと:6 
379 // 
[ 2019年6月1日17:08:46458:INFO / MainProcess] BOS3UA7Y740V4W9 @セロリ準備。
[ 2019年6月1日17:09:31021:INFO / MainProcess]受信タスク:test.add [82a08465-b8d5-4371-8 
EDD - 1f5b3c922102] 
[2019年6月1日17:09:33034:INFO / MainProcess]タスクtest.add [82a08465-b8d5-4371-8edd- 1f5b3c
 922102]は成功 2.0S:10

 

おすすめ

転載: www.cnblogs.com/-wenli/p/10960241.html