首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为花海应用程序配置Puma?

如何为花海应用程序配置Puma?
EN

Stack Overflow用户
提问于 2020-04-04 01:31:07
回答 1查看 297关注 0票数 4

我有一个花美1.3.3的应用程序,它应该运行与彪马作为生产网络服务器。我想在集群模式下使用puma,并正确使用preload_app。现在我正在为正确的Puma配置而苦苦挣扎。我知道,每个子进程(worker)都必须有自己的新DB-connection、redis-connection等。我的应用程序使用了多个db-connection、redis、sidekiq。通过hanami-model处理主db,利用pg-gem直接处理其它db(在class::initialize处建立连接)。

处理这个问题的正确方法是什么?

这里有一种方法:

代码语言:javascript
复制
workers 4
threads 1, 8

preload_app!

rackup      DefaultRackup
port        2300
environment 'production'

on_worker_boot do
  require_relative "config/environment"
  Hanami.boot
end

对吗?对我来说,这感觉不对劲。

下面是不是更好?

代码语言:javascript
复制
# ...
on_worker_boot do
  Hanami::Model.disconnect # but what happens to the opened db-connections of parent-process?
  Hanami::Model.load!
  # redis??
  # sidekiq??
end

Thx

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-10 00:27:07

hanami/chat的一个同事的帮助下,我最终得到了如下的彪马配置:

代码语言:javascript
复制
require_relative './environment'
workers 2

threads_count = 5
threads threads_count, threads_count

daemonize true

preload_app!

rackup      DefaultRackup
port        2300
environment 'production'

on_worker_boot do
  Hanami.boot
end

以下是帮助我得出结论的信息:

puma and rails

definition of Hanami.boot

definition of Hanami.disconnect

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61017325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档