如何检测我的代码是 运行 "inside" Sidekiq 服务器还是 Puma?
How can I detect whether my code is running "inside" Sidekiq server or Puma?
我使用 Puma 作为 Web 服务器,使用 Sidekiq 作为我的队列运行器。
对于多种事物(数据库连接、Redis 连接、其他外部服务),我使用 ConnectionPool gem 来管理对连接的安全访问。
现在,根据我是 运行 在 Sidekiq 还是 Puma 的上下文中,我需要这些池的大小不同(分别与 Sidekiq 线程或 Puma 线程的数量一样大,并且他们是不同的)
在您的初始化程序中,根据执行上下文了解连接池大小的最佳方法是什么?
谢谢!
我不知道你的具体情况 (puma
/sidekiq
),但通常你可以在 $PROGRAM_NAME
变量中找到此信息。类似的还有 [=13=]
和 __FILE__
.
您使用 Sidekiq.server?
而 returns nil
而不是 运行 在 Sidekiq 进程本身中。
我使用 Puma 作为 Web 服务器,使用 Sidekiq 作为我的队列运行器。
对于多种事物(数据库连接、Redis 连接、其他外部服务),我使用 ConnectionPool gem 来管理对连接的安全访问。
现在,根据我是 运行 在 Sidekiq 还是 Puma 的上下文中,我需要这些池的大小不同(分别与 Sidekiq 线程或 Puma 线程的数量一样大,并且他们是不同的)
在您的初始化程序中,根据执行上下文了解连接池大小的最佳方法是什么?
谢谢!
我不知道你的具体情况 (puma
/sidekiq
),但通常你可以在 $PROGRAM_NAME
变量中找到此信息。类似的还有 [=13=]
和 __FILE__
.
您使用 Sidekiq.server?
而 returns nil
而不是 运行 在 Sidekiq 进程本身中。