Sha256: 4b25d4b6b03dc2622f473d0401c7cbae04c8570847834eb7efc19b6d216ce104

Contents?: true

Size: 1.53 KB

Versions: 1

Compression:

Stored size: 1.53 KB

Contents

#!/usr/bin/env puma

directory '<%= current_path %>'
rackup "<%=fetch(:puma_rackup)%>"
environment '<%= fetch(:puma_env) %>'
<% if fetch(:puma_tag) %>
  tag '<%= fetch(:puma_tag)%>'
<% end %>
pidfile "<%=fetch(:puma_pid)%>"
state_path "<%=fetch(:puma_state)%>"
stdout_redirect '<%=fetch(:puma_access_log)%>', '<%=fetch(:puma_error_log)%>', true


threads <%=fetch(:puma_threads).join(',')%>

<%= puma_plugins %>

<%= puma_bind %>
<% if fetch(:puma_control_app) %>
activate_control_app "<%= fetch(:puma_default_control_app) %>"
<% end %>
workers <%= puma_workers %>
<% if fetch(:puma_worker_timeout) %>
worker_timeout <%= fetch(:puma_worker_timeout).to_i %>
<% end %>

<% if puma_daemonize? %>
daemonize
<% end %>

<% if puma_preload_app? %>
preload_app!
<% else %>
prune_bundler
<% end %>

on_restart do
  puts 'Refreshing Gemfile'
  ENV["BUNDLE_GEMFILE"] = "<%= fetch(:bundle_gemfile, "#{current_path}/Gemfile") %>"
end

<% if puma_preload_app? and fetch(:puma_init_active_record) %>
before_fork do
  ActiveRecord::Base.connection_pool.disconnect!

  if RUBY_PLATFORM.match?(/linux/)
    require 'puma_worker_killer'

    PumaWorkerKiller.config do |config|
      config.ram           = (`free`.lines.to_a[1].split[1].to_i / 1024).to_i
      config.frequency     = 30
      config.percent_usage = 0.5
      config.rolling_restart_frequency = 8 * 3600
      config.reaper_status_logs = true
    end

    PumaWorkerKiller.start
  end
end

on_worker_boot do
  ActiveSupport.on_load(:active_record) do
    ActiveRecord::Base.establish_connection
  end
end
<% end %>

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
h2ocube_rails_puma-0.1.0 lib/generators/source/puma.rb.erb