启动 rails 服务器作为守护进程不会触发工作集群
Starting rails server as deamon doesn't trigger worker cluster
我想以生产模式启动 rails 服务器作为守护进程 运行 工作集群。当我启动我的 rails 程序时,一切都按预期工作。
rails s -e production -b 0.0.0.0
=> Booting Puma
=> Rails 5.0.0.1 application starting in production on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
[12340] Puma starting in cluster mode...
[12340] * Version 3.4.0 (ruby 2.3.0-p0), codename: Owl Bowl Brawl
[12340] * Min threads: 5, max threads: 5
[12340] * Environment: production
[12340] * Process workers: 3
[12340] * Preloading application
[12340] * Listening on tcp://0.0.0.0:3000
[12340] Use Ctrl-C to stop
[12340] - Worker 0 (pid: 12347) booted, phase: 0
[12340] - Worker 1 (pid: 12349) booted, phase: 0
[12340] - Worker 2 (pid: 12353) booted, phase: 0
然而,当我添加 -d rails 以单一模式启动时,通过检查 运行 进程
确认
rails s -e production -b 0.0.0.0 -d
=> Booting Puma
=> Rails 5.0.0.1 application starting in production on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
检查 运行 进程确认只有一个实例是 运行,而不是预期的集群模式。
那么,我该如何正确地将 worker 作为守护进程启动?
非常感谢任何帮助。
注意:我也 运行 puma_worker_killer 滚动重启以防有帮助。
rails (5.0.0.1)
美洲狮 (3.4.0)
puma_worker_killer (0.1.0)
根据 Puma 文档,recommended 以 bundle exec puma
开头。
然后您可以 start a cluster 像这样:puma -t 8:32 -w 3
。其中 -t
是 min:max 线程数,-w
是工人数。
我想以生产模式启动 rails 服务器作为守护进程 运行 工作集群。当我启动我的 rails 程序时,一切都按预期工作。
rails s -e production -b 0.0.0.0
=> Booting Puma
=> Rails 5.0.0.1 application starting in production on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
[12340] Puma starting in cluster mode...
[12340] * Version 3.4.0 (ruby 2.3.0-p0), codename: Owl Bowl Brawl
[12340] * Min threads: 5, max threads: 5
[12340] * Environment: production
[12340] * Process workers: 3
[12340] * Preloading application
[12340] * Listening on tcp://0.0.0.0:3000
[12340] Use Ctrl-C to stop
[12340] - Worker 0 (pid: 12347) booted, phase: 0
[12340] - Worker 1 (pid: 12349) booted, phase: 0
[12340] - Worker 2 (pid: 12353) booted, phase: 0
然而,当我添加 -d rails 以单一模式启动时,通过检查 运行 进程
确认rails s -e production -b 0.0.0.0 -d
=> Booting Puma
=> Rails 5.0.0.1 application starting in production on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
检查 运行 进程确认只有一个实例是 运行,而不是预期的集群模式。
那么,我该如何正确地将 worker 作为守护进程启动?
非常感谢任何帮助。
注意:我也 运行 puma_worker_killer 滚动重启以防有帮助。
rails (5.0.0.1) 美洲狮 (3.4.0) puma_worker_killer (0.1.0)
根据 Puma 文档,recommended 以 bundle exec puma
开头。
然后您可以 start a cluster 像这样:puma -t 8:32 -w 3
。其中 -t
是 min:max 线程数,-w
是工人数。