2012-01-23 4 views
4

개체의 after_create 후크를 통해 설정된 몇 가지 작업이 있습니다. 테스트하는 동안 나는 약 5 분 후에 하나의 작업이 시작되고 10 분 후에 하나의 작업 (datetime 인 모델의 두 속성 사용)을 수행하도록 객체를 저장했습니다. 문제는 두 가지가 바로 실행되는 것입니다. 만약 내가 미래에 두 개의 날짜 값을 24 시간 설정하는 객체를 만들면 기다리는 것처럼 보입니다. 그래서 저는 근로자가 생각하는 시간이 서버가 무엇인지 다른지 궁금합니다. delayed_job 작업자가 동기화되어 있는지 확인하는 방법이 있습니까?지연된 작업 run_at가 정확한 시간에 실행되지 않음

는 다음 작업을 대기열의 코드를 다음과 같습니다

Delayed::Job.enqueue(CharityProductCreateJob.new(self.id, shop.id), 0, self.start_date) 
Delayed::Job.enqueue(CharityProductCreateJob.new(self.id, shop.id), 0, self.end_date) 

답변

3
+0

내가 해당 검색으로 실행했다 귀하의 질문에 대답 할 수 있습니다. 나는 이와 같은 것을 시도했지만 행운은 없다 :'Delayed :: Job.enqueue (CharityProductCreateJob.new (self.id, shop.id), 0, self.start_date.utc)' – agmcleod

+0

이 질문으로 돌아와 대답. 위의 내용은 내 상황에 부분적으로 맞습니다. 한 가지 확인해야 할 것은 application.rb 파일의 기본 시간입니다. 동부 표준시로 업데이트 한 다음 위의 주석과 마찬가지로 .utc를 호출합니다. – agmcleod

관련 문제