redis.exceptions.ResponseError

 问题原因是我用了django-celery然后pip安装时自动帮我装了celery 3.1.26

这个问题的根本原因是版本问题,因为我的redis是4.0.9

Redis server v=4.0.9 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=9435c3c2879311f3

但是我的celery是3.1.26

后来我把celery重装成4.3.0就解决了问题

 

 

解决办法参考https://github.com/dealertrack/celery-redis-sentinel/issues/15

https://stackoverflow.com/questions/53328283/force-celery-to-use-strictredis

[2019-08-20 06:51:38,515: CRITICAL/MainProcess] Task celery02.task.add[a9c34a2f-b97a-4b13-889d-40be6644d3cc] INTERNAL ERROR: ResponseError('Command # 1 (SETEX b\'celery-task-meta-a9c34a2f-b97a-4b13-889d-40be6644d3cc\' {"status": "SUCCESS", "result": 4, "traceback": null, "children": []} 86400) of pipeline caused error: value is not an integer or out of range',)
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/celery/app/trace.py", line 283, in trace_task
    uuid, retval, SUCCESS, request=task_request,
  File "/usr/local/lib/python3.6/dist-packages/celery/backends/base.py", line 271, in store_result
    request=request, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/celery/backends/base.py", line 505, in _store_result
    self.set(self.get_key_for_task(task_id), self.encode(meta))
  File "/usr/local/lib/python3.6/dist-packages/celery/backends/redis.py", line 161, in set
    return self.ensure(self._set, (key, value), **retry_policy)
  File "/usr/local/lib/python3.6/dist-packages/celery/backends/redis.py", line 150, in ensure
    **retry_policy
  File "/usr/local/lib/python3.6/dist-packages/kombu/utils/__init__.py", line 246, in retry_over_time
    return fun(*args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/celery/backends/redis.py", line 170, in _set
    pipe.execute()
  File "/home/moluo/.local/lib/python3.6/site-packages/redis/client.py", line 3520, in execute
    return execute(conn, stack, raise_on_error)
  File "/home/moluo/.local/lib/python3.6/site-packages/redis/client.py", line 3435, in _execute_transaction
    self.raise_first_error(commands, response)
  File "/home/moluo/.local/lib/python3.6/site-packages/redis/client.py", line 3469, in raise_first_error
    raise r
redis.exceptions.ResponseError: Command # 1 (SETEX b'celery-task-meta-a9c34a2f-b97a-4b13-889d-40be6644d3cc' {"status": "SUCCESS", "result": 4, "traceback": null, "children": []} 86400) of pipeline caused error: value is not an integer or out of range

  

 

posted @ 2019-08-20 22:08  平平无奇小辣鸡  阅读(432)  评论(0)    收藏  举报