diff --git a/Gemfile b/Gemfile index b4fb1fce..e46ae5f6 100644 --- a/Gemfile +++ b/Gemfile @@ -52,6 +52,7 @@ gem 'pg' gem 'sequel_pg', require: nil gem 'hiredis' gem 'activesupport' +gem 'facter' group :development, :test do gem 'pry' diff --git a/Gemfile.lock b/Gemfile.lock index deb6945c..39c1754d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -65,6 +65,7 @@ GEM erubis (2.7.0) exifr (1.2.5) fabrication (2.15.0) + facter (2.4.6) faker (1.6.3) i18n (~> 0.5) faraday (0.9.2) @@ -298,6 +299,7 @@ DEPENDENCIES dav4rack! erubis fabrication + facter faker feedjira filesize diff --git a/puma_config.rb b/puma_config.rb index b23fd451..62083974 100644 --- a/puma_config.rb +++ b/puma_config.rb @@ -1,28 +1,12 @@ -def processor_count - case RbConfig::CONFIG['host_os'] - when /darwin9/ - `hwprefs cpu_count`.to_i - when /darwin/ - ((`which hwprefs` != '') ? `hwprefs thread_count` : `sysctl -n hw.ncpu`).to_i - when /linux/ - `cat /proc/cpuinfo | grep processor | wc -l`.to_i - when /freebsd/ - `sysctl -n hw.ncpu`.to_i - when /mswin|mingw/ - require 'win32ole' - wmi = WIN32OLE.connect("winmgmts://") - cpu = wmi.ExecQuery("select NumberOfCores from Win32_Processor") # TODO count hyper-threaded in this - cpu.to_enum.first.NumberOfCores - end -end +require 'facter' threads 1, 1 environment 'production' -daemonize +#daemonize pidfile '/var/run/neocities/neocities.pid' stdout_redirect '/var/log/neocities/neocities.log', '/var/log/neocities/neocities-errors.log', true quiet -workers processor_count +workers Facter.value('processors')['count'] worker_timeout 600 preload_app! on_worker_boot { DB.disconnect }