RUFUS Scheduler (Rails 3.2)의 Cron 작업을 위해 코드 블록 내에서 Job_ID를 결정하십시오.
-
13-12-2019 - |
문제
rufus 스케줄러를 통해 크론 작업을 만들 때 어떤 방법이 있습니까? Cron 작업의 코드 블록 내에서 job_id를 결정합니다. Cron 직업 자체?
내가하고 싶은 것은 다음과 같습니다 :
scheduler.cron '0 0 0 * * * Etc/GMT+0' do
# Nix existing jobs.
scheduler.cron_jobs.values.map { |j| if j.job_id != self.job_id then j.unschedule end }
...
end
.
문제는 self.job_id
입니다.그를 검색하는 방법에 대한 모든 제안 사항
현재 트리거되고있는 크론의 현재 Job_ID?
나는 반환 된 "triggered_threads"와 같은 것이 있음을 알고 있습니다. 현재 실행중인 작업.그러나 나는 더 구체적인 것을 원한다 job_id 코드 블록의 job_id 현재 내에 있습니다.
이이 가능합니까?
해결책
새 작업의 ID를 명시 적으로 식별하는 선택적 매개 변수와 Scheduler.cron 메소드 호출을 제공 하여이 문제를 해결할 수있었습니다.
scheduler.cron '0 0 0 * * * Etc/GMT+0', {:job_id => explicit_job_id} do
# Nix existing jobs.
scheduler.cron_jobs.values.map { |j| if j.job_id != self.job_id then j.unschedule end }
...
end
.
여기서 explicit_job_id
는 scheduler.cron 호출이 만들어지기 전에 정의 된 변수입니다.
제휴하지 않습니다 StackOverflow