gpt4 book ai didi

ruby-on-rails - 高效地重新安排 ActiveJob (resque/sidekiq)

转载 作者:行者123 更新时间:2023-12-03 07:47:57 26 4
gpt4 key购买 nike

我正在使用 Rails 4.2 应用程序,该应用程序使用由 resque/sidekiq 支持的 ActiveJob 进行电子邮件调度。当用户创建时事通讯事件时,会创建一个新作业并安排在特定日期。这一切都很好,但是当用户更改交货日期时会发生什么。

在这种情况下,每个作业都可以检查是否应该交付,因此无效的作业将被忽略,并且仅执行最后一个作业。这可以工作,但如果用户进行 1k 次编辑,会将 1k-1 个无效作业推送到队列中 - 不好。我认为现有的工作应该更新或用新的工作取代。据我所知,在 Redis 队列中搜索 job_id 的速度很慢。

在 Rails 中重新安排 ActiveJobs 的正确方法是什么(使用 resque/sidekiq)?

最佳答案

没有,工作并不意味着要重新安排。您已经回答了自己的问题:

In this case every job could check if it should be delivered or not thus invalid jobs would be ignored and only the last one would be executed.

另一种方法是重新构建发送营销事件的方式:将交付日期存储在数据库中,并让 cron 每分钟检查一次需要立即交付的营销事件,然后立即创建 Sidekiq 作业。

关于ruby-on-rails - 高效地重新安排 ActiveJob (resque/sidekiq),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28212817/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com