我正在使用Puma作为Web服务器,而Sidekiq作为我的队列运行器。
对于多个事物(数据库连接,Redis连接,其他外部服务)我正在使用ConnectionPool gem来管理对连接的安全访问。
现在,根据我是在Sidekiq还是Puma的上下文中运行,我需要这些池的大小不同(分别与Sidekiq线程或Puma线程的数量一样大,它们是不同的)
在初始化程序中,了解基于执行上下文建立连接池的最佳方法的最佳方法是什么?
谢谢!
答案 0 :(得分:43)
您使用的Sidekiq.server?
在未在Sidekiq进程内运行时返回nil
。
答案 1 :(得分:0)
我不了解您的具体案例(puma
/ sidekiq
),但一般情况下,您可以在$PROGRAM_NAME
变量中找到此信息。同样类似的是$0
和__FILE__
。