Ruby on rails 3 轨道&x2B;sideqik。。。如何在特定日期和时间执行任务

Ruby on rails 3 轨道&x2B;sideqik。。。如何在特定日期和时间执行任务,ruby-on-rails-3,datetime,cron,sidekiq,whenever,Ruby On Rails 3,Datetime,Cron,Sidekiq,Whenever,我在rails应用程序中使用gem在特定日期和时间安排任务。。 例如:在预约时间前10分钟发送预约提醒 class TextWorker include Sidekiq::Worker def perform(appointer_id) number = Usermodel.find_by_id(appointer_id).contact Message.create(:from => email,

我在rails应用程序中使用gem在特定日期和时间安排任务。。 例如:在预约时间前10分钟发送预约提醒

class TextWorker
include Sidekiq::Worker

    def perform(appointer_id)
        number = Usermodel.find_by_id(appointer_id).contact
        Message.create(:from =>  email, 
                           :to =>   number,
                               :body => 'Thank you...Your appointment is at 10/1/2015 Sun, at 12pm')
    end

end
在“约会控制器”中调用它:

class Appointments_controller

def create
    TextWorker.delay_until(10/20/2014, 13:40).perform_async(@user_contact)
end
延迟_直到与特定日期/时间不起作用:


在sideqik中,是否有其他方法在特定日期/时间执行任务?如果是,怎么做?请

您可以输入计算出的差值,以便发送sidekiq期望的内容

e、 g.
DateTime.parse(“2014年10月20日”)-DateTime.now

因此:


可能有助于运行Sidekiq 5.1.3,我必须在(延迟时间,@user\u contact)执行
而不是
延迟到
。或者
perform_in
而不是
delay_for
并传递一个时间间隔。@kaydanzie,您是否正在运行社区版的Sidekiq 5.1.3在(…,…)执行_?
  delay_interval = DateTime.parse("10/20/2014")-DateTime.now
  TextWorker.delay_until(delay_interval).perform_async(@user_contact)