6

尝试使用 celery 4.1.0 和 Python 3.6.4 运行 add.delay(1,2) 的最基本测试并得到以下错误:

[2018-02-27 13:58:50,194:INFO/MainProcess] 收到的任务:exb.tasks.test_tasks.add[52c3fb33-ce00-4165-ad18-15026eca55e9]
[2018-02-27 13:58:50,194: CRITICAL/MainProcess] 不可恢复的错误:SystemError('返回了带有错误集的结果') Traceback(最近一次调用最后):文件“/opt/myapp/lib/python3 .6/site-packages/kombu/messaging.py",第 624 行,在 _receive_callback 返回 on_m(message) if on_m else self.receive(decoded, message) File "/opt/myapp/lib/python3.6/site- packages/celery/worker/consumer/consumer.py”,第 570 行,在 on_task_received 回调中,文件“/opt/myapp/lib/python3.6/site-packages/celery/worker/strategy.py”,第 145 行,在task_message_handler handle(req) File "/opt/myapp/lib/python3.6/site-packages/celery/worker/worker.py", line 221, in _process_task_sem return self._quick_acquire(self._process_task, req) File "/选择/myapp/lib/python3.6/site-packages/kombu/async/semaphore.py”,第 62 行,在获取回调(*partial_args,**partial_kwargs)文件“/opt/myapp/lib/python3.6/site-packages/celery/worker/ worker.py”,第 226 行,_process_task req.execute_using_pool(self.pool) 文件“/opt/myapp/lib/python3.6/site-packages/celery/worker/request.py”,第 531 行,execute_using_pool correlation_id =task_id,文件“/opt/myapp/lib/python3.6/site-packages/celery/concurrency/base.py”,第 155 行,在 apply_async **options) 文件“/opt/myapp/lib/python3.6 /site-packages/billiard/pool.py”,第 1486 行,在 apply_async self._quick_put((TASK, (result._job, None, func, args, kwds))) 文件“/opt/myapp/lib/python3. 6/site-packages/celery/concurrency/asynpool.py",第 813 行,在 send_job body = dumps(tup,协议=协议)类型错误:不能腌制内存视图对象

上述异常是以下异常的直接原因:

Traceback(最近一次调用最后一次):文件“/opt/myapp/lib/python3.6/site-packages/celery/worker/worker.py”,第 203 行,在 start self.blueprint.start(self) 文件中“/ opt/myapp/lib/python3.6/site-packages/celery/bootsteps.py”,第 119 行,在 start step.start(parent) 文件“/opt/myapp/lib/python3.6/site-packages/celery /bootsteps.py”,第 370 行,开始返回 self.obj.start() 文件“/opt/myapp/lib/python3.6/site-packages/celery/worker/consumer/consumer.py”,第 320 行,在开始 blueprint.start(self) 文件“/opt/myapp/lib/python3.6/site-packages/celery/bootsteps.py”,第 119 行,在 start step.start(parent) 文件“/opt/myapp/ lib/python3.6/site-packages/celery/worker/consumer/consumer.py”,第 596 行,在 start c.loop(*c.loop_args()) 文件中“/opt/myapp/lib/python3.6/site-packages/celery/worker/loops.py”,第 88 行,在 asynloop next(loop) 文件中“/opt/myapp/lib/python3.6/site-packages/ kombu/async/hub.py”,第 354 行,在 create_loop cb(*cbargs) 文件“/opt/myapp/lib/python3.6/site-packages/kombu/transport/base.py”,第 236 行,在 on_readable阅读器(循环)文件“/opt/myapp/lib/python3.6/site-packages/kombu/transport/base.py”,第 218 行,在 _read drain_events(timeout=0) 文件“/opt/myapp/lib/ python3.6/site-packages/librabbitmq-2.0.0-py3.6-linux-x86_64.egg/librabbitmq//opt/myapp/lib/python3.6/site-packages/kombu/transport/base.py”,第 236 行,在 on_readable 阅读器(循环)文件“/opt/myapp/lib/python3.6/site-packages/ kombu/transport/base.py”,第 218 行,在 _read drain_events(timeout=0) 文件“/opt/myapp/lib/python3.6/site-packages/librabbitmq-2.0.0-py3.6-linux-x86_64 .egg/librabbitmq//opt/myapp/lib/python3.6/site-packages/kombu/transport/base.py”,第 236 行,在 on_readable 阅读器(循环)文件“/opt/myapp/lib/python3.6/site-packages/ kombu/transport/base.py”,第 218 行,在 _read drain_events(timeout=0) 文件“/opt/myapp/lib/python3.6/site-packages/librabbitmq-2.0.0-py3.6-linux-x86_64 .egg/librabbitmq/init .py",第 227 行,在 drain_events self._basic_recv(timeout) SystemError:返回带有错误集的结果

我找不到任何以前的证据表明有人遇到此错误。我从 celery 网站注意到,仅提到支持 python 3.5,这是问题还是我缺少的东西?

任何帮助将非常感激!

更新:尝试使用 Python 3.5.5 并且问题仍然存在。尝试使用 Django 4.0.2 并且问题仍然存在。

更新:卸载 librabbitmq 并且问题停止了。这是在从 Python 2.7.5、Django 1.7.7 迁移到 Python 3.6.4、Django 2.0.2 之后看到的。

4

1 回答 1

4

卸载 librabbitmq 后,问题解决。

于 2018-04-30T07:45:49.980 回答