local/lib/python2.7/site-packages/celery/app/trace.py:365: RuntimeWarning: Exception raised outside body: ResponseError(u'Command # 1 (SETEX celery-task-meta-160cb39a-c02e-437e-b830-76f250bc2a6a \\x80\\x02}q\\x01(U\\x06statusq\\x02U\\x07SUCCESSq\\x03U\\ttracebackq\\x04NU\\x06resultq\\x05NU\\x08childrenq\\x06]u. 86400) of pipeline caused error: value is not an integer or out of range',):
Traceback (most recent call last):
File "/home/chenzhenxing/MyProject/env/env-import-tools/local/lib/python2.7/site-packages/celery/app/trace.py", line 283, in trace_task
uuid, retval, SUCCESS, request=task_request,
File "/home/chenzhenxing/MyProject/env/env-import-tools/local/lib/python2.7/site-packages/celery/backends/base.py", line 271, in store_result
request=request, **kwargs)
File "/home/chenzhenxing/MyProject/env/env-import-tools/local/lib/python2.7/site-packages/celery/backends/base.py", line 505, in _store_result
self.set(self.get_key_for_task(task_id), self.encode(meta))
File "/home/chenzhenxing/MyProject/env/env-import-tools/local/lib/python2.7/site-packages/celery/backends/redis.py", line 161, in set
return self.ensure(self._set, (key, value), **retry_policy)
File "/home/chenzhenxing/MyProject/env/env-import-tools/local/lib/python2.7/site-packages/celery/backends/redis.py", line 150, in ensure
**retry_policy
File "/home/chenzhenxing/MyProject/env/env-import-tools/local/lib/python2.7/site-packages/kombu/utils/__init__.py", line 246, in retry_over_time
return fun(*args, **kwargs)
File "/home/chenzhenxing/MyProject/env/env-import-tools/local/lib/python2.7/site-packages/celery/backends/redis.py", line 170, in _set
pipe.execute()
File "/home/chenzhenxing/MyProject/env/env-import-tools/local/lib/python2.7/site-packages/redis/client.py", line 4019, in execute
return execute(conn, stack, raise_on_error)
File "/home/chenzhenxing/MyProject/env/env-import-tools/local/lib/python2.7/site-packages/redis/client.py", line 3934, in _execute_transaction
self.raise_first_error(commands, response)
File "/home/chenzhenxing/MyProject/env/env-import-tools/local/lib/python2.7/site-packages/redis/client.py", line 3968, in raise_first_error
raise r
ResponseError: Command # 1 (SETEX celery-task-meta-160cb39a-c02e-437e-b830-76f250bc2a6a \x80\x02}q\x01(U\x06statusq\x02U\x07SUCCESSq\x03U\ttracebackq\x04NU\x06resultq\x05NU\x08childrenq\x06]u. 86400) of pipeline caused error: value is not an integer or out of range
exc, exc_info.traceback)))
使用celery 3.1版本链接redis的时候,发现了这个异常。
阅读异常发现无法SETEX 命令出现了错误。
查看redis 的该命令,发现redis中该命令的基本语法是:SETEX KEY_NAME TIMEOUT VALUE
而3.1版本的celery的命令是 SETEX KEY_NAME VALUE TIMEOUT。
最后升级至4.X版本解决。