child process에 lock/좀비 프로세스가 발생하면 어떻게 처리되나요?
251
작성한 질문수 84
작업의 처리 결과가 언제 종료될지 모르기 때문에 timeout 등의 설정은 하지 않은 전제에서
child process에 작업을 수행하다가 lock이 발생하거나 이러한 문제로 좀비 프로세스가 되는 경우
celery가 처리하는 루틴이 있는지 알고 싶습니다.
답변 1
0
안녕하세요 bluebamus님,
Celery는 기본적으로 좀비 프로세스를 처리하기 위한 특정한 루틴을 제공하지 않지만, 작업이 제대로 종료되지 않거나 잠금(lock)으로 인해 문제가 발생하는 경우를 처리하기 위해 몇 가지 방법을 제공하고 있는데... timeout을 사용하지 않은 상태에서 방지할 수 있는 방법은 한계가 있을 수 있는데,
Celery 워커의
maxtasksperchild옵션을 설정하여 각 워커가 일정 수의 작업을 처리한 후 종료되고 새롭게 시작되도록 만들 수 있는데, 이는 메모리 누수와 좀비 프로세스를 방지하는 데 유용할 듯 하네요.외부 모니터링 도구를 사용하여 Celery 워커의 상태를 모니터링하고, 좀비 프로세스가 발견되면 이를 처리하는 스크립트를 실행할 수도 있습니다. 예를 들어, Supervisord, Monit, Systemd 등을 사용하여 워커 프로세스를 관리할 수 있습니다.
도움이 되었을까요?
진도미확인 (진도가 안 넘어감)
0
40
1
자료 화면 문의
0
40
1
celery.py 위치
0
96
2
docker-compose
0
112
1
standalone_celery 에만 작성된 task 들은 호출할 수 없나요?
0
136
2
수업노트 github 주소가 404가 많아요
0
92
1
product level에서 celeryd를 사용하시나요?
0
239
1
celery의 로그 설정을 django의 settings.py에서 따로 해줘야 하는게 있을까요?
1
346
1
django에서 view나 api에서 request를 celery로 넘길 수 있을까요?
1
246
1
DLQ와 관련한 이전 질문의 추가 질문 입니다.
1
272
2
task 에러를 signal로 잡는 부분에 대해 질문 드립니다.
0
215
1
DLQ에 저장하는 패턴에 대해 질문 드립니다.
1
204
1
DLX에 대한 질문입니다.
1
153
1
기존 docker-compose는 admin의 깨져서 나옵니다.
1
206
2
실습에 문제가 많아 수업노트보기의 저장소 코드를 확인해봤습니다.
1
221
2
celery-standalone에 대한 질문입니다.
1
165
1
Celery Monitoring Tool, Flower에 대해 알아보기에 질문 있습니다.
1
529
3
group에서 keyword arg를 전송할 때에 대해 알고 싶습니다.
1
208
1
SNS 처럼 사용하기
1
177
1
셀러리 사용에 문의드립니다.
1
288
2
Task Routing 부분 보니까요
1
316
1
celery 에서 task 작업 끝난 후 ack 받기
1
373
2
rate_limit
0
320
2
docker-compose
2
450
2





