result = AsyncResult(id=_id, app=main.app).state
File "E:\python2.7\lib\site-packages\celery\result.py", line 394, in state
return self._get_task_meta()['status']
File "E:\python2.7\lib\site-packages\celery\result.py", line 339, in _get_task_meta
return self._maybe_set_cache(self.backend.get_task_meta(self.id))
File "E:\python2.7\lib\site-packages\celery\backends\base.py", line 307, in get_task_meta
meta = self._get_task_meta_for(task_id)
File "E:\python2.7\lib\site-packages\celery\backends\base.py", line 521, in _get_task_meta_for
return self.decode_result(meta)
File "E:\python2.7\lib\site-packages\celery\backends\base.py", line 204, in decode_result
return self.meta_from_decoded(self.decode(payload))
File "E:\python2.7\lib\site-packages\celery\backends\base.py", line 211, in decode
accept=self.accept)
File "E:\python2.7\lib\site-packages\kombu\serialization.py", line 184, in loads
return decode(data)
File "E:\python2.7\lib\contextlib.py", line 35, in __exit__
self.gen.throw(type, value, traceback)
File "E:\python2.7\lib\site-packages\kombu\serialization.py", line 59, in _reraise_errors
reraise(wrapper, wrapper(exc), sys.exc_info()[2])
File "E:\python2.7\lib\site-packages\kombu\serialization.py", line 55, in _reraise_errors
yield
File "E:\python2.7\lib\site-packages\kombu\serialization.py", line 184, in loads
return decode(data)
File "E:\python2.7\lib\site-packages\kombu\serialization.py", line 314, in _loads
obj = obj.decode('utf-8')
File "E:\python2.7\lib\encodings\utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
DecodeError: 'utf8' codec can't decode byte 0x80 in position 0: invalid start byte
windows开启任务,想要检查任务的状态
使用了方法AsyncResult
AsyncResult(id=str(task_id), app=main.app).state
但是报错了
原来的时候代码是这样的
CELERY_TASK_SERIALIZER = 'json' CELERY_RESULT_SERIALIZER = 'json' CELERY_TASK_RESULT_EXPIRES = 60 * 60 * 24 # 任务过期时间 CELERY_ACCEPT_CONTENT = ["json"] # 指定任务接受的内容序列化的类型.
修改后:
CELERY_TASK_SERIALIZER = 'pickle' CELERY_RESULT_SERIALIZER = 'pickle' CELERY_TASK_RESULT_EXPIRES = 60 * 60 * 24 # 任务过期时间 CELERY_ACCEPT_CONTENT = ["json", "pickle"] # 指定任务接受的内容序列化的类型.
就成功了