inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실리콘밸리 엔지니어와 함께하는 샐러리(Celery)

Task 에러를 Signal로 해결해 보기

child process에 lock/좀비 프로세스가 발생하면 어떻게 처리되나요?

251

bluebamus

작성한 질문수 84

1

작업의 처리 결과가 언제 종료될지 모르기 때문에 timeout 등의 설정은 하지 않은 전제에서

child process에 작업을 수행하다가 lock이 발생하거나 이러한 문제로 좀비 프로세스가 되는 경우

celery가 처리하는 루틴이 있는지 알고 싶습니다.

django celery django-celery django-celery-beat

답변 1

0

미쿡엔지니어

안녕하세요 bluebamus님,

Celery는 기본적으로 좀비 프로세스를 처리하기 위한 특정한 루틴을 제공하지 않지만, 작업이 제대로 종료되지 않거나 잠금(lock)으로 인해 문제가 발생하는 경우를 처리하기 위해 몇 가지 방법을 제공하고 있는데... timeout을 사용하지 않은 상태에서 방지할 수 있는 방법은 한계가 있을 수 있는데,

  • Celery 워커의 maxtasksperchild 옵션을 설정하여 각 워커가 일정 수의 작업을 처리한 후 종료되고 새롭게 시작되도록 만들 수 있는데, 이는 메모리 누수와 좀비 프로세스를 방지하는 데 유용할 듯 하네요.

  • 외부 모니터링 도구를 사용하여 Celery 워커의 상태를 모니터링하고, 좀비 프로세스가 발견되면 이를 처리하는 스크립트를 실행할 수도 있습니다. 예를 들어, Supervisord, Monit, Systemd 등을 사용하여 워커 프로세스를 관리할 수 있습니다.

 

도움이 되었을까요?

 

0

bluebamus

정보에 도움이 되었습니다 감사합니다.

진도미확인 (진도가 안 넘어감)

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