Tag: 独角兽

我对Unicorn,Sidekiq和DB Pool大小的理解是否正确?

我有Unicorn,Sidekiq和Postgres设置。 我试图了解正确的配置设置,以便我没有达到最大数据库连接限制。 在Opsworks中,m1.small Postgres RDS实例最多可以有121个连接。 我有一个db池大小为5。 考虑一下。 Sidekiq和Unicorn是它自己的过程。 因此, 每个进程的数据库池大小为5.如果我的理解错误,请纠正我。 如果我有5个独角兽进程’,那意味着5 * 5 = 25个数据库连接 现在这是我有点困惑的部分,因为Sidekiq是multithreading的。 如果Sidekiq的并发度为5.并且db池大小也设置为5.这是否意味着在给定时间内有25个潜在的数据库连接? 这意味着,对于一个实例,我可以有50个db连接?

使用Heroku推荐的Unicorn配置错误R12(退出超时)

我的Unicorn配置(从Heroku的文档中复制): # config/unicorn.rb worker_processes Integer(ENV[“WEB_CONCURRENCY”] || 3) timeout 30 preload_app true before_fork do |server, worker| Signal.trap ‘TERM’ do puts ‘Unicorn master intercepting TERM and sending myself QUIT instead’ Process.kill ‘QUIT’, Process.pid end defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect! end after_fork do |server, worker| Signal.trap ‘TERM’ do puts ‘Unicorn worker intercepting TERM and doing nothing. Wait for master to […]

独角兽陷入困境:刷新gem列表

我正在使用Rails 4.0.0,Ruby 2.3和Unicorn。 我的应用程序工作正常,直到我尝试在我的Gemfile中添加nem gem。 一切都像本地的魅力一样,但是当我使用Capistrano部署到DO时,我陷入了错误循环: E, [2016-09-26T11:40:29.801388 #24545] ERROR — : reaped # worker=0 I, [2016-09-26T11:40:29.802952 #4287] INFO — : Refreshing Gem list /home/deployer/apps/my_app/shared/bundle/ruby/2.3.0/gems/activesupport-4.0.0/lib/active_support/values/time_zone.rb:282: warning: circular argument reference – now E, [2016-09-26T11:40:32.116762 #4287] ERROR — : uninitialized constant Vimeo::HTTParty (NameError) /home/deployer/apps/my_app/releases/20160924171252/app/controllers/webinars_controller.rb:2:in `’ /home/deployer/apps/my_app/releases/20160924171252/app/controllers/webinars_controller.rb:1:in `’ /home/deployer/apps/my_app/shared/bundle/ruby/2.3.0/gems/railties-4.0.0/lib/rails/engine.rb:465:in `block (2 levels) in eager_load!’ /home/deployer/apps/my_app/shared/bundle/ruby/2.3.0/gems/railties-4.0.0/lib/rails/engine.rb:464:in `each’ /home/deployer/apps/my_app/shared/bundle/ruby/2.3.0/gems/railties-4.0.0/lib/rails/engine.rb:464:in `block […]

使用Rack :: Deflater时,rails中的HTTP流不能正常工作

我在rails 3.1中设置了独角兽,http流式传输工作直到我启用Rack :: Deflater。 我曾尝试使用Rack :: Chunked。 在curl中,我可以看到我在chrome中的响应,我得到以下错误:ERR_INVALID_CHUNKED_ENCODING 其他浏览器(firefox,safari)以及开发(osx)和生产(heroku)之间的结果相同。 config.ru: require ::File.expand_path(‘../config/environment’, __FILE__) use Rack::Chunked use Rack::Deflater run Site::Application unicorn.rb: listen 3001, :tcp_nopush => false worker_processes 1 # amount of unicorn workers to spin up timeout 30 # restarts workers that hang for 30 seconds 控制器: render “someview”, :stream => true 谢谢你的帮助。

如何使用unicorn和配置文件在生产模式下启动rails服务器?

我将Gem’unicorn Gem ‘unicorn’添加到Gemfile并调用rails server unicorn -e production ,但是我收到了一个加载错误。 然后我添加Gem ‘unicorn_rails’ ,然后调用rails server unicorn -e production ,但我找不到套接字文件。 所以我在考虑是否不使用config/unicorn.rb文件作为配置? 所以我调用unicorn_rails -c config/unicorn.rb -E production -D ,但我得到另一个错误text file busy 。 所以现在我被困在这件事上,你能帮助我吗? 🙂

如何让我的Rails应用程序的每个独角兽工作者登录到另一个文件?

如何让我的Rails应用程序的每个独角兽工作者在另一个日志文件中写入? 原因:混合日志文件的问题…在其默认配置中,Rails会将其日志消息写入单个日志文件: log/.log 。 Unicorn工作人员会立即写入同一个日志文件,这些消息可能会混淆。 当request-log-analyzer解析日志文件时,这是一个问题。 一个例子: Processing Controller1#action1 … Processing Controller2#action2 … Completed in 100ms… Completed in 567ms… 在这个例子中,在100ms内完成了什么动作,在567 ms内完成了什么动作? 我们永远无法确定。

如何手动重启unicorn

我不确定当我运行cap deploy时unicorn正在重新启动,因为应用程序中没有显示某些更改,因此我想在远程服务器上手动重启unicorn。 我已经导航到etc/init.d并查看unicorn_myapp的列表,但它不是一个目录(即我无法进入它)。 基于我的deploy.rb文件中的以下代码,我可以从这里做一些重启独角兽的事情吗? 我试图run unicorn_myapp restart但它说run不是命令 namespace :deploy do %w[start stop restart].each do |command| desc “#{command} unicorn server” task command, roles: :app, except: {no_release: true} do run “/etc/init.d/unicorn_#{application} #{command}” end end

为什么gitlab 6切换回独角兽?

Gitlab 6.0于昨天发布。 我很想知道为什么他们从Puma转向Unicorn 。 5之前的版本使用Unicorn 。 我觉得切换到Puma是为了更好。 这个开关有技术原因吗?

重启Unicorn问题(capistrano)

我在deploy.rb中有以下设置来重启我的服务器: namespace :deploy do task :restart do run “if [ -f #{unicorn_pid} ] && [ -e /proc/$(cat #{unicorn_pid}) ]; then kill -USR2 \`cat #{unicorn_pid}\`; else cd #{deploy_to}/current && bundle exec unicorn -c #{unicorn_conf} – E #{rails_env} -D; fi” end end 但它不起作用。 我的意思是该命令执行(它询问密码并且没有错误),但是配置文件中的所有更改仍然被忽略(即工作进程数或数据库设置)。

设计和独角兽的奇怪错误

我在开发过程中使用了许多我的rails应用程序,我每天都会遇到这些错误1-2次 NoMethodError: undefined method `users_url’ for # .0/gems/turbolinks-2.5.3/lib/turbolinks/ xhr_headers.rb: 21:in `_compute_redirect_to_location’ …0224210521/app/controllers/ /home/remmon/apps/myapp/releases/20150224210521/app/controllers/registrations_controller.rb registrations_controller.rb: 26:in `create’ …le/ruby/2.1.0/gems/journey-1.0.4/lib/journey/ router.rb: 68:in `block in call’ …le/ruby/2.1.0/gems/journey-1.0.4/lib/journey/ router.rb: 56:in `each’ …le/ruby/2.1.0/gems/journey-1.0.4/lib/journey/ router.rb: 56:in `call’ …uby/2.1.0/gems/omniauth-1.2.2/lib/omniauth/ strategy.rb: 186:in `call!’ …uby/2.1.0/gems/omniauth-1.2.2/lib/omniauth/ strategy.rb: 164:in `call’ …ems/rack-mobile-detect-0.4.0/lib/rack/ mobile-detect.rb: 164:in `call’ …dle/ruby/2.1.0/gems/warden-1.2.3/lib/warden/ manager.rb: 35:in `block in call’ …dle/ruby/2.1.0/gems/warden-1.2.3/lib/warden/ manager.rb: 34:in `catch’ …dle/ruby/2.1.0/gems/warden-1.2.3/lib/warden/ manager.rb: 34:in […]