ruby - 如何检测我的代码运行的是 "inside"Sidekiq 服务器还是 Puma?

标签 ruby ruby-on-rails-4 connection-pooling sidekiq puma

我使用 Puma 作为网络服务器,使用 Sidekiq 作为我的队列运行器。

对于多种事物(数据库连接、Redis 连接、其他外部服务),我使用 ConnectionPool gem 来管理对连接的安全访问。

现在,根据我是在 Sidekiq 还是 Puma 的上下文中运行,我需要这些池的大小不同(分别与 Sidekiq 线程或 Puma 线程的数量一样大,而且它们是不同的)

在您的初始化程序中,根据执行上下文了解连接池大小的最佳方法是什么?

谢谢!

最佳答案

您使用 Sidekiq.server?当不在 Sidekiq 进程本身内运行时返回 nil

关于ruby - 如何检测我的代码运行的是 "inside"Sidekiq 服务器还是 Puma?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28367069/

相关文章:

ruby - 使用 Ruby 查找具有更改目录的文件

ruby-on-rails - 删除 rails 中的多个项目的 Restful 方法是什么?

java - MQTT(Mosquitto)连接池?

ruby-on-rails - 解析 'ul' 和 'ol' 标签

mysql - 努力在 Glassfish 上创建 MySQL 连接池

java - 如何为具有多个数据源的 grails 2.X 应用程序配置 c3p0?

ruby - 在数组中查找重复项——如何更快?

mysql - 使用 Active Record .where 在 Rails 中查找列中具有 nil 值的表记录

jquery - Rails AJAX 注释清除文本区域

ruby-on-rails - Rails 4 Postgresql 数组数据类型 : updating values