2013-10-05 3 views
3

셀로리를 사용하는 장고 응용 프로그램을 사용했습니다. 셀러리는 브로커로 토끼와 함께 작동합니다. 작업에서 redis를 사용하면 셀러리가 WorkerLostError를 반환합니다.osx에 셀러리 작업자 오류 10.8.5

명령을 시작하기 셀러리 : 파이썬 manage.py celeryd -bE --loglevel = INFO 코드의

예 :

class TestTask(Task): 
    def run(self): 
     rds = redis.Redis(db=0) 
     rds.set('test', '11') 
     val = rds.get('test') 
     print val 

출력 :

python(1674) malloc: *** error for object 0x7fdaf125e908: incorrect checksum for freed object - object was probably modified after being freed. 
*** set a breakpoint in malloc_error_break to debug 
[2013-10-05 15:40:51,012: ERROR/MainProcess] Task mysites.task_tech.TestTask[4cc3053d-4e9c-4701-97ea-4a9e7ba3e902] raised exception: WorkerLostError('Worker exited prematurely (exitcode: -6).',) 
Traceback (most recent call last): 
    File "/Users/user/Envs/TestEnv/lib/python2.7/site-packages/billiard/pool.py", line 930, in _join_exited_workers 
    lost_ret,)) 
WorkerLostError: Worker exited prematurely (exitcode: -6). 

요구 사항 :

Django==1.4.1 
celery==3.0.11 
amqp==1.0.13 
amqplib==1.0.2 
billiard==2.7.3.32 
celery==3.0.11 
django-celery==3.0.11 

레디 스 :

$ redis-server --version 
Redis server v=2.6.14 sha=00000000:0 malloc=libc bits=64 

rabbitmq 버전 - 3.1.4

OSX 버전 - 내가 WorkerLostError이 왜 10.8.5

? 어떤 아이디어?

UPD : 데비안, 우분투 및 다른 리눅스 시스템에서는이 문제가 없습니다. osx에서만 문제가 발생했습니다.

+0

파이썬 내 malloc 오류는 컴파일 된 .so 및 파이썬 버전 오정렬을 일으킬 수 있습니다. 최근에 패키지를 새로 고치지 않고 파이썬을 업그레이드 했습니까? –

답변

0

에픽!

사용자 정의 방법 을 사용하는 동일한 파일에서 다른 작업을했습니다. 이유는 모르지만 클래스 이름을 변경하면 (또는 삭제) 초기화가이 문제를 결정했습니다.

관련 문제