我有一个在模型中的Sidekiq工作者,代码如下:
class Perk < ActiveRecord::Base
include Sidekiq::Worker
include Sidekiq::Status::Worker
after_save :update_release_time
def update_release_time
if self.release_time_changed?
#if scheduled job already exists then cancel and reschedule
# Sidekiq::Status.cancel scheduled_job_id
# scheduled_job_id = NotifierWorker.perform_at(time.seconds.from_now, .....)
#elsif scheduled job doesn't exist, then schedule for the first time
# scheduled_job_id = NotifierWorker.perform_at(time.seconds.from_now, .....)
#end
end
end
end
基本上,我的代码检查发行时间是否更改。如果有更改,则必须取消之前预定的作业并在新时间安排它。我该如何实现这一点,即伪代码应该是什么?我该如何检查是否存在
scheduled_job_id
,然后获取其ID?
ScehduledSet
->ScheduledSet
。 - DickieBoy