Celery: AttributeError: 'float' ๊ฐœ์ฒด์— 'items' ์†์„ฑ์ด ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2018๋…„ 11์›” 15์ผ  ยท  16์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: celery/celery

์…€๋Ÿฌ๋ฆฌ ์‹คํ–‰ ์‹œ - proj ์ž‘์—…์ž๊ฐ€ ์ด ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

[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(์ž์‹ )
ํŒŒ์ผ "/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, asynloop๋‹ค์Œ(๋ฃจํ”„)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_readable
self.cycle.on_readable(ํŒŒ์ผ ๋ฒˆํ˜ธ)
ํŒŒ์ผ "/user/lib/python3.6/site-packages/kombu/transport/redis.py", ์ค„ 337, on_readable
chan.handlers ์œ ํ˜•
ํŒŒ์ผ "/user/lib/python3.6/site-packages/kombu/transport/redis.py", 724ํ–‰, _brpop_read
self.connection._deliver(loads(bytes_to_str(item)), ๋Œ€์ƒ)
ํŒŒ์ผ "/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) \
zadd์—์„œ ํŒŒ์ผ "/user/lib/python3.6/site-packages/redis/client.py", 2263ํ–‰
๋ฐ˜๋ณต ํ•ญ๋ชฉ์˜ ์Œ(๋งคํ•‘):
ํŒŒ์ผ "/user/lib/python3.6/site-packages/redis/_compat.py", 123ํ–‰, iteritems
iter(x.items()) ๋ฐ˜ํ™˜
AttributeError: 'float' ๊ฐœ์ฒด์— 'items' ์†์„ฑ์ด ์—†์Šต๋‹ˆ๋‹ค.

Python 3.6.6์„ ์‚ฌ์šฉํ•˜์—ฌ redis 3.0.0.post1

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์…€๋Ÿฌ๋ฆฌ ๋ฌธ์ œ ์•„๋‹˜ - pip๋ฅผ ํ†ตํ•ด ์„ค์น˜๋œ Redis 3.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'

ํŒŒ์ด์ฌ 2.7, ๋ ˆ๋””์Šค 3.0.0.post1

์…€๋Ÿฌ๋ฆฌ ๋ฌธ์ œ ์•„๋‹˜ - pip๋ฅผ ํ†ตํ•ด ์„ค์น˜๋œ Redis 3.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๋ฅผ ํ†ตํ•ด ์„ค์น˜๋œ Redis 3.0.0.post1์˜ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์†”๋ฃจ์…˜: pip๋กœ redis ๋กค๋ฐฑ: pip install redis==2.10.6

๋‚˜๋ฅผ ์œ„ํ•ด ๋‹ค์‹œ ์ž‘๋™ํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ.

๊ฐ์‚ฌ ํ•ด์š”

์…€๋Ÿฌ๋ฆฌ์˜ ํŒจ์น˜ ๋ฆด๋ฆฌ์Šค๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

ํŒจ์น˜ ๋ฆด๋ฆฌ์Šค๋Š” ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค!!!

๋” ๋นจ๋ฆฌ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋ณด์‹œ๋‹ค์‹œํ”ผ ๋งŽ์€ ๊ด€๋ จ ํ”„๋กœ์ ํŠธ์—์„œ ์ด ๋ฌธ์ œ๋ฅผ ์–ธ๊ธ‰ํ•˜๊ณ  redis ๋ฒ„์ „์„ ๊ณ ์ •ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‹ค์‹œ๋งˆ ํŒจ์น˜๋ฅผ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์šฐ๋ฆฌ์—๊ฒŒ ํ•‘์„ ๋ณด๋‚ด๋Š” ๋Œ€์‹  ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ๋ฆด๋ฆฌ์Šค ์•Œ๋ฆผ์„ ๊ตฌ๋…ํ•˜์‹ญ์‹œ์˜ค.

์…€๋Ÿฌ๋ฆฌ ๋ฌธ์ œ ์•„๋‹˜ - pip๋ฅผ ํ†ตํ•ด ์„ค์น˜๋œ Redis 3.0.0.post1์˜ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์†”๋ฃจ์…˜: pip๋กœ redis ๋กค๋ฐฑ: pip install redis==2.10.6

๋‚˜๋ฅผ ์œ„ํ•ด ๋‹ค์‹œ ์ž‘๋™ํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ.

์ž‘์—…ํ–ˆ์Šต๋‹ˆ๋‹ค ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!!

์ตœ์‹  ์—…๋ฐ์ดํŠธ์ธ Celery 4.3.0(kobu 4.5.0)์—์„œ ์ˆ˜์ •๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
redis ๋ฒ„์ „์„ ๋กค๋ฐฑํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์ตœ์‹  ์—…๋ฐ์ดํŠธ์ธ Celery 4.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 ํ˜ธ์ถœ
install redis==2.10.6์„ ์„ค์น˜ํ–ˆ๋Š”๋ฐ ์—ฌ์ „ํžˆ ๋ฌธ์ œ๊ฐ€ ์ง€์†๋ฉ๋‹ˆ๋‹ค.
๊ตฌ๊ธ€ ์ฝ”๋žฉ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@ dhanashri88 - ์ด๊ฒƒ์ด Celery ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ๋ณด๊ณ ์„œ/์ถ”์ ์€ ์™„์ „ํ•˜์ง€ ์•Š์ง€๋งŒ ํ…์„œ๋ณด๋“œ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ง€์› ์ฑ„๋„/๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ/github ๋ฌธ์ œ์— ๋„์›€์„ ์š”์ฒญํ•˜์„ธ์š”.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰