2016-07-28 5 views
1

앞으로 30 일 동안 예정된 sidekiq 작업이 있습니다 (다음 30 일 동안 하루에 1 일).Sidekiq - 이전 코드에서 대기열에 포함 된 작업이 실행 중입니다.

저는 배포 용으로 카피 스트라 노를 사용합니다. 그래서 나는 언제든지 5 개의 공개 디렉토리를 가지고있다. 예를 들어,

/var/www/release1/ (recent) 
/var/www/release2/ 
/var/www/release3/ 
/var/www/release4/ 
/var/www/release5/ 

며칠 후에 새로운 릴리스를 만들겠다고합시다. 이제 이전에 예약 된 작업이 이전 코드에서 계속 실행됩니다. 예상 되나요? 스케줄이 아닌 실행이 시작될 때 최신 릴리스 디렉토리를 사용하도록이 문제를 어떻게 해결할 수 있습니까?

답변

1

성공적인 배포 후에 sidekiq 프로세스가 다시 시작되지 않았기 때문일 수 있습니다.

배포 프로세스가 sidekiq을 다시 시작하고 실제로 다시 작동하는지 확인하십시오. 그렇지 않으면 sidekiq 프로세스가 이전 코드를 계속 유지합니다.

https://github.com/mperham/sidekiq/wiki/Deployment

0

난 그냥 다른 이유에 의해이 상황으로 얻을 수 있습니다 사람에 대한 대체 대답에 기여하고 싶습니다.

사이드 키크 좀비 프로세스이 실행 중입니다. 그래서, 만약 내가 수동으로 sidekiq을 멈추고 그것을 재시작하더라도, 나는 다른 sidekiq 프로세스가 오래된 코드로 실행되도록 매달려있다. 따라서 유닉스 htop 명령이나 ps aux | grep sidek 명령을 실행하고 좀비 프로세스를 찾아 보는 것이 좋습니다.

관련 문제