몇 가지 개념을 명확히하려면 도움이 필요합니다. 지금은 celery (python scheduler)를 사용하여 작업을 실행하고 있습니다. 셀러리는 작업에 대한 시간 제한이 있고 (300 초가 기본값이어야 함) 내 작업이 더 오래 실행될 가능성이 매우 높기 때문에 실제 작업을 수행하기 위해 해당 작업 내에 프로세스를 생성하기로 결정했습니다. 그러나 작업을 실행하는 동안 실수로 셀러리 서버를 다시 시작 / 중지하면 생성 된 프로세스가 계속 작동합니까? 아니면 좀비 프로세스가 될까요? 가능하면 몇 가지 세부 사항을 알려주십시오. 감사!
편집 : 한 가지 더 질문 : 언제
p = Process(target=f, args=('test',))
p.start()
p는 현재 프로세스의 하위 프로세스가됩니까? 아니면 그냥 독립적 인 프로세스를 생성합니까?
Celery에 익숙하지 않은 첫 번째 질문에만 답할 수 있습니다. 아마도 문서 에서 답을 찾을 수있을 것 입니다.
귀하의 질문은 데몬과 비 데몬 스레드의 차이점을 강조합니다.
데몬 스레드는 주 프로그램을 끊지 않는 스레드입니다. 그들은 메인 프로그램이 무엇을하고 있는지에 관계없이 끝날 때까지 계속 작업 할 것입니다.
데몬이 아닌 스레드는 그 반대입니다. 메인 프로그램이 끝나기 전에 반드시 죽여야합니다.
이 질문 / 답변 은 차이점과 의미를 잘 설명합니다.
질문의 범위에서 프로세스가 데몬 스레드 인 경우 서버를 다시 시작 / 중지해도 문제가 없습니다. 그러나 데몬 스레드가 아니면 셀러리 서버를 중지 할 수 없어야합니다 (데몬 스레드에 대한 이해가 정확하다고 가정).
도움이 되었기를 바랍니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다