2014-07-05 6 views
4

셀러 리 작업자와 rabbitmq가있는 3 대의 컴퓨터가 있는데 한 명의 작업자가 비트 플래그로 실행됩니다.이 모든 작업은 감독자가 담당하며 때로는 샐러리가 이러한 오류로 사망합니다. 이 오류는 비트 작업자에게만 나타나지만 나타나면 모든 컴퓨터의 작업자가 사망합니다. (셀러리 == 3.1.12, 다시마 == 3.0.20)은셀러리가 DBPageNotFoundError와 함께 죽습니다

[2014-07-05 08:37:04,297: INFO/MainProcess] Connected to amqp://user:**@192.168.15.106:5672// 
[2014-07-05 08:37:04,311: ERROR/Beat] Process Beat 
Traceback (most recent call last): 
File "/var/projects/env/local/lib/python2.7/site-packages/billiard/process.py", line 292, in _bootstrap 
self.run() 
File "/var/projects/env/local/lib/python2.7/site-packages/celery/beat.py", line 527, in run 
self.service.start(embedded_process=True) 
File "/var/projects/env/local/lib/python2.7/site-packages/celery/beat.py", line 453, in start 
humanize_seconds(self.scheduler.max_interval)) 
File "/var/projects/env/local/lib/python2.7/site-packages/kombu/utils/__init__.py", line 322, in __get__ 
value = obj.__dict__[self.__name__] = self.__get(obj) 
File "/var/projects/env/local/lib/python2.7/site-packages/celery/beat.py", line 491, in scheduler 
return self.get_scheduler() 
File "/var/projects/env/local/lib/python2.7/site-packages/celery/beat.py", line 486, in get_scheduler 
lazy=lazy) 
File "/var/projects/env/local/lib/python2.7/site-packages/celery/utils/imports.py", line 53, in instantiate 
return symbol_by_name(name)(*args, **kwargs) 
File "/var/projects/env/local/lib/python2.7/site-packages/celery/beat.py", line 357, in __init__ 
Scheduler.__init__(self, *args, **kwargs) 
File "/var/projects/env/local/lib/python2.7/site-packages/celery/beat.py", line 184, in __init__ 
self.setup_schedule() 
File "/var/projects/env/local/lib/python2.7/site-packages/celery/beat.py", line 376, in setup_schedule 
self._store['entries'] 
File "/usr/lib/python2.7/shelve.py", line 121, in __getitem__ 
f = StringIO(self.dict[key]) 
File "/usr/lib/python2.7/bsddb/__init__.py", line 270, in __getitem__ 
return _DeadlockWrap(lambda: self.db[key]) # self.db[key] 
File "/usr/lib/python2.7/bsddb/dbutils.py", line 68, in DeadlockWrap 
return function(*_args, **_kwargs) 
File "/usr/lib/python2.7/bsddb/__init__.py", line 270, in <lambda> 
return _DeadlockWrap(lambda: self.db[key]) # self.db[key] 
DBPageNotFoundError: (-30985, 'DB_PAGE_NOTFOUND: Requested page not found') 
+1

-B를 사용하는 대신 독립 실행 형으로 비트를 시작하십시오. 일부 -db 구현은 파이썬 프로세스에서 분기 된 프로세스에있는 것을 좋아하지 않습니다. – asksol

+0

@asksol 저에게있어 파일은 약 2 개월마다 대략 손상됩니다 : (누군가가 문제를 더 깊이 조사했는지 궁금합니다 ... – Fedor

답변

0

은 내가 /tmp 디렉토리에 일부 임시 파일을 제거했다. 하나는 celeryd-<NAME_OF_WORKER>-state이고 celeryd-<NAME_OF_WORKER>-state-renamed으로 명명되었습니다. 그 (것)들을 제거한 후에 나는 영향을받은 노동자를 다시 시작할 수 있었다.

관련 문제