我使用django + celery和redis作爲代理,我的任務之一是讀取大小約25MB的大文件並返回結果,並將結果鏈接到另一個任務以處理結果。django-celery redis memoryerror
我在這裏遇到這個錯誤,由於我對redis不熟悉,所以我正在尋求幫助。可能是什麼問題?
[2013-06-23 22:45:41,241: ERROR/MainProcess] Unrecoverable error: MemoryError()
Traceback (most recent call last):
File "/home/property/virtualenv/property_env/lib/python2.6/site-packages/celery/worker/__init__.py", line 363, in start
component.start()
File "/home/property/virtualenv/property_env/lib/python2.6/site-packages/celery/worker/consumer.py", line 395, in start
self.consume_messages()
File "/home/property/virtualenv/property_env/lib/python2.6/site-packages/celery/worker/consumer.py", line 480, in consume_messages
readers[fileno](fileno, event)
File "/home/property/virtualenv/property_env/lib/python2.6/site-packages/kombu/transport/redis.py", line 770, in handle_event
self._callbacks[queue](message)
File "/home/property/virtualenv/property_env/lib/python2.6/site-packages/kombu/transport/virtual/__init__.py", line 479, in _callback
self.qos.append(message, message.delivery_tag)
File "/home/property/virtualenv/property_env/lib/python2.6/site-packages/kombu/transport/redis.py", line 117, in append
dumps([message._raw, EX, RK])) \
File "/home/property/virtualenv/property_env/lib/python2.6/site-packages/redis/client.py", line 1808, in execute
return execute(conn, stack, raise_on_error)
File "/home/property/virtualenv/property_env/lib/python2.6/site-packages/redis/client.py", line 1705, in _execute_transaction
[args for args, options in cmds]))
MemoryError
不確定它是否提供任何提示,但檢查redis服務器上的maxmemory設置似乎不成問題。
redis 127.0.0.1:6379> config get maxmemory
1) "maxmemory"
2) "3758096384"
做它發生的每一次併發/隨機或在工人運行一段時間後? –