2012-09-06 3 views
3

delayed_job 보석을 사용하면 모든 작업자를 중지하지 않고 하나의 프로세스 만 중지 할 수 있습니까? 예를 들어delayed_job - 하나의 프로세스 만 중지

:

rake jobs:work 시작 노동자

process1 = SomeClass.enqueue 코드의 시작 과정 1 코드

process2 = SomeClass.enqueue 시작 과정이

process1.stop는 단지 과정 일을 중지하고 공정 2 계속 실행됩니다.

비슷한 질문은 "지연된 작업 프로세스의 PID를 어떻게 얻을 수 있습니까?"라고 생각됩니다. 왜냐하면 PID를 사용하여 프로세스를 종료 할 수 있기 때문입니다.

+0

나는 동일한 질문을 가지고있다. 해결 했니? – utiq

+0

@utiq 네, 방금 크론 작업을 사용하는'언제나 '보석을 사용했습니다. 그러나 나는이 질문에 대한 정답에 열려있다. –

+0

누구에게도 해결책이 있습니까? – 23tux

답변

0

지연된 작업은 전체 과정입니다. pid를 확인하려면 지연된 작업이 시작될 때 임시 폴더에 생성 된 .pid 파일을 확인하십시오. 코드에서 특정 프로세스를 중지하려면 Delayed :: Job.all을 사용하거나 작업을 찾고 destroy 메서드를 사용하여 닫습니다.

관련 문제