Celery: AttributeError: 'float'オブジェクトに属性 'items'がありません

作成日 2018年11月15日  ·  16コメント  ·  ソース: celery/celery

セロリの実行時-プロジェクトワーカーがこのエラーをスローします

[2018-11-15 12:02:53,607:CRITICAL / MainProcess]回復不能なエラー:AttributeError( "'float'オブジェクトに属性 'items'"、)がありません
トレースバック(最後の最後の呼び出し):
ファイル "/user/lib/python3.6/site-packages/celery/worker/worker.py"、行205、開始時
self.blueprint.start(self)
ファイル "/user/lib/python3.6/site-packages/celery/bootsteps.py"、行119、開始時
step.start(親)
ファイル "/user/lib/python3.6/site-packages/celery/bootsteps.py"、行369、開始時
self.obj.start()を返します
ファイル "/user/lib/python3.6/site-packages/celery/worker/consumer/consumer.py"、行317、開始時
blueprint.start(self)
ファイル "/user/lib/python3.6/site-packages/celery/bootsteps.py"、行119、開始時
step.start(親)
ファイル "/user/lib/python3.6/site-packages/celery/worker/consumer/consumer.py"、593行目、開始時
c.loop( c.loop_args())ファイル "/user/lib/python3.6/site-packages/celery/worker/loops.py"、91行目、asynloopnext(ループ)create_loop内のファイル「/user/lib/python3.6/site-packages/kombu/asynchronous/hub.py」、354行目cb( cbargs)
ファイル "/user/lib/python3.6/site-packages/kombu/transport/redis.py"、行1040、on_読み取り可能
self.cycle.on_読み取り可能(fileno)
ファイル "/user/lib/python3.6/site-packages/kombu/transport/redis.py"、行337、on_読み取り可能
chan.handlersタイプ
_brpop_readのファイル "/user/lib/python3.6/site-packages/kombu/transport/redis.py"、行724
self.connection._deliver(loads(bytes_to_str(item))、dest)
ファイル "/user/lib/python3.6/site-packages/kombu/transport/virtual/base.py"、行983、_deliver
コールバック(メッセージ)
ファイル "/user/lib/python3.6/site-packages/kombu/transport/virtual/base.py"、行632、_callback
self.qos.append(message、message.delivery_tag)
ファイル「/user/lib/python3.6/site-packages/kombu/transport/redis.py」、149行目、追加
pipe.zadd(self.unacked_index_key、time()、delivery_tag)\
ファイル "/user/lib/python3.6/site-packages/redis/client.py"、2263行目、zadd
iteritems(mapping)のペアの場合:
iteritemsのファイル "/user/lib/python3.6/site-packages/redis/_compat.py"、行123
iter(x.items())を返す
AttributeError: 'float'オブジェクトに属性 'items'がありません

Python 3.6.6を使用して、redis 3.0.0.post1

最も参考になるコメント

セロリの問題ではない-pip経由でインストールされたRedis3.0.0.post1の問題のようです。

解決策:pipでredisをロールバックします: pip install redis==2.10.6

すべてが私のために再び働いています。

全てのコメント16件

今朝、非常によく似たエラーが発生します。

[2018-11-15 09:55:33,342: CRITICAL/MainProcess] Unrecoverable error: AttributeError("'float' object has no attribute 'iteritems'",)
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/celery/worker/worker.py", line 205, in start
    self.blueprint.start(self)
  File "/usr/local/lib/python2.7/dist-packages/celery/bootsteps.py", line 119, in start
    step.start(parent)
  File "/usr/local/lib/python2.7/dist-packages/celery/bootsteps.py", line 369, in start
    return self.obj.start()
  File "/usr/local/lib/python2.7/dist-packages/celery/worker/consumer/consumer.py", line 317, in start
    blueprint.start(self)
  File "/usr/local/lib/python2.7/dist-packages/celery/bootsteps.py", line 119, in start
    step.start(parent)
  File "/usr/local/lib/python2.7/dist-packages/celery/worker/consumer/consumer.py", line 593, in start
    c.loop(*c.loop_args())
  File "/usr/local/lib/python2.7/dist-packages/celery/worker/loops.py", line 91, in asynloop
    next(loop)
  File "/usr/local/lib/python2.7/dist-packages/kombu/asynchronous/hub.py", line 354, in create_loop
    cb(*cbargs)
  File "/usr/local/lib/python2.7/dist-packages/kombu/transport/redis.py", line 1040, in on_readable
    self.cycle.on_readable(fileno)
  File "/usr/local/lib/python2.7/dist-packages/kombu/transport/redis.py", line 337, in on_readable
    chan.handlers[type]()
  File "/usr/local/lib/python2.7/dist-packages/kombu/transport/redis.py", line 724, in _brpop_read
    self.connection._deliver(loads(bytes_to_str(item)), dest)
  File "/usr/local/lib/python2.7/dist-packages/kombu/transport/virtual/base.py", line 983, in _deliver
    callback(message)
  File "/usr/local/lib/python2.7/dist-packages/kombu/transport/virtual/base.py", line 632, in _callback
    self.qos.append(message, message.delivery_tag)
  File "/usr/local/lib/python2.7/dist-packages/kombu/transport/redis.py", line 149, in append
    pipe.zadd(self.unacked_index_key, time(), delivery_tag) \
  File "/usr/local/lib/python2.7/dist-packages/redis/client.py", line 2263, in zadd
    for pair in iteritems(mapping):
  File "/usr/local/lib/python2.7/dist-packages/redis/_compat.py", line 94, in iteritems
    return x.iteritems()
AttributeError: 'float' object has no attribute 'iteritems'

Python 2.7、Redis 3.0.0.post1

セロリの問題ではない-pip経由でインストールされたRedis3.0.0.post1の問題のようです。

解決策:pipでredisをロールバックします: pip install redis==2.10.6

すべてが私のために再び働いています。

依存関係の固定はセロリの問題です。 ここで修正されるようですが
https://github.com/celery/celery/pull/5176

これを解決するために4.2.2をクイックリリースできますか?

これが修正されるまで、Celeryの外部で依存関係を固定できます。

Pipenvユーザー:追加redis = "~=2.10.6" _before_ celeryで項目をPipfile

昆布とセロリマスターで直しました

セロリのパッチリリースを入手できますか?

セロリの問題ではない-pip経由でインストールされたRedis3.0.0.post1の問題のようです。

解決策:pipでredisをロールバックします: pip install redis==2.10.6

すべてが私のために再び働いています。

ありがとう

セロリのパッチリリースを入手できますか?

パッチリリースは素晴らしいでしょう!!!

コミュニティがそれを後でではなく早く可能にするためにできることはありますか? ご覧のとおり、多くの関連プロジェクトがこの問題を参照しており、redisバージョンを特定しています。

昆布のパッチをリリースしました。 問題が解決するはずです。
pingを実行する代わりに、リポジトリでリリース通知を購読してください。

セロリの問題ではない-pip経由でインストールされたRedis3.0.0.post1の問題のようです。

解決策:pipでredisをロールバックします: pip install redis==2.10.6

すべてが私のために再び働いています。

働いてくれてありがとう!!

最新のアップデートであるCelery4.3.0(kobu 4.5.0)で修正されるはずです。
redisバージョンをロールバックする必要はありません。

最新のアップデートであるCelery4.3.0(kobu 4.5.0)で修正されるはずです。
redisバージョンをロールバックする必要はありません。

確かに、これは私の場合は機能します。

やあ、
問題が発生していますAttributeError: 'float'オブジェクトに属性 'item'がありません
コールバック関数のコールバックの実行中= [checkpointer、earlystopper、lr_reducer、TensorBoardColabCallback(tbc)]
/usr/local/lib/python3.6/dist-packages/tensorboardcolab/callbacks.pyを呼び出します
インストールインストールredis == 2.10.6がまだ問題が解決しない。
私はグーグルコラボを使用しています。

@ dhanashri88-これはセロリの問題ではないと思います。 問題レポート/トレースバックは完全ではありませんが、これはテンソルボードの問題のようです。 サポートチャネル/メーリングリスト/ githubの問題についてお問い合わせください。

このページは役に立ちましたか?
0 / 5 - 0 評価