매일 오전 3시에 예약 된 활성 작업이 있습니다.이 응용 프로그램은 각 하위 도메인마다 다른 시간대를 갖는 SAAS입니다. 내가 묻는 것은 각 회사의 시간대별로 3 시간마다 백그라운드 작업이 서버 시간대에 한 번씩 실행되도록하는 방법입니다. DB에 타임 존 속성이 있습니다. 각 회사는 자체 타임 스탬프 속성을 삽입 할 수 있습니다. sidekiq_cron으로이 작업을 수행 할 수있는 방법은 내가 내 sidekiq_schedule.yml시간대에 따라 특정 시간에 매일 활성 작업이 실행됩니다.
schedule_foo_job:
cron: "0 3 * * *"
class: "FooJob"
queue: default
active_job: true
에 그리고 작업 파일
class FooJob < ApplicationJob
queue_as :default
def perform(*args)
DoSomeThing.new.run
end
end
에있는
있습니까?
내가 다음 코드
FooJob.set(wait_until: "Pass the time here").perform_later
하지만 난에 각각 전달 먼저 다른 작업 실행이 DB에서 모든 시간대를 얻을 수 있도록하고 서버 시간대의 차이를 얻을 생각 그게 가장 좋은 방법이 아니면 첫 번째 작업의 실행과 다른 타이밍 문제가있을 것입니다 모르겠다