我正在努力实现对网络应用的要求:
以上所有内容都可以通过以下方式轻松完成:
ss = Sidekiq::ScheduledSet.new
job = ss.find_job(jid)
job.reschedule(at)
但是,我必须至少在数据库中存储jid和预定时间,以便用户可以确定他/她是否要重新安排它。
我担心的是上述效率不高。首先,我必须在redis和db中复制存储,另外,正如Mike Perham所说:
你可以做到这一点,但它不会有效率。它是查找的线性扫描 JID的预定工作。
请参阅https://stackoverflow.com/a/24189112/1755697
如果我需要在db和redis(sidekiq存储)中存储详细信息,我想知道是否可以更简单地使用在数据库中存储作业的延迟作业,从而不会重复存储。
关于延迟工作的主要问题是它尚未准备好Rails 5.0并且暂时没有更新。
对于选择哪种系统或如何以更有效的方式使用Sidekiq来满足上述要求,我将不胜感激。