[英]rails + sidekiq specific date and time job
我们如何使用db time使用rails将作业添加到sidekiq中的特定日期和时间,我想在约会时间到来时发送电子邮件,那么什么是最好的方法呢?
您可能会参考rails 4.2(在Sidekiq前面)引入的本机Active Job API。
使用rails API构建作业,在conf文件中指定使用sidekiq,然后rails会将作业放入sidekiq。
优点:您可以切换到另一个入队的gem,更容易在特定日期延迟工作,可以执行after_action,通常在Sidekiq的专业版本中。
请参阅该教程以了解更多信息: http : //edgeguides.rubyonrails.org/active_job_basics.html
一个简单的例子:
# Enqueue a job to be performed tomorrow at noon. MyJob.set(wait_until: Date.tomorrow.noon).perform_later(record)
希望对你有帮助
将约会日期(甚至最好是特定的约会通知日期时间)附加到约会模型。
然后让后台作业每分钟排队,检查所有未发送的关闭事件通知(例如,约会通知低于1分钟且尚未发送的事件),并为每个约会队列发送一封电子邮件。
您可能要使用sidekiq
将电子邮件排队,并使用cron系统(例如clockwork
将任务排入sidekiq
以检查每分钟是否有要发送的通知。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.