【发布时间】:2018-12-21 23:29:04
【问题描述】:
我目前在我的 Rails 应用程序上使用 Sidekiq(免费)和 Heroku Redis(免费)。我注意到 Heroku Redis 说它的连接限制为 20。
这会影响/限制我可以使用 Sidekiq 执行的后台作业数量吗?
基本上,我在这个应用程序中使用 Sidekiq 的目的只是发送一封电子邮件以获取时事通讯。新闻通讯准备好后,通过单击按钮发送电子邮件。此按钮从我的EditionsController 执行以下代码:
def send_notification
users = User.all
users.each do |user|
EditionMailer.with(edition: @edition, user: user).notification_email.deliver_later
end
redirect_to edition_path(@edition)
end
我目前在该应用上有 63 个用户,因此这将发送 63 封邮件。不过,我希望以后会添加更多内容。
提前致谢。
【问题讨论】:
-
除非您指定
RAILS_MAX_THREADS,否则sidekiq将使用大约5 个并发作业;话虽这么说,redis永远不会受到并发最大作业数的影响,因为它们是在排队系统中处理的。它将分批处理 20 个工作 -
哦,好的。因此,这意味着拥有 20 个连接不会阻止电子邮件发送出去,而只会随着发送的电子邮件越来越多而减慢速度。对吗?
-
是的@UmarGhouse
标签: ruby-on-rails redis sidekiq