Sha256: a70efd2001fc2649e6ce736aa26ff4c865052f5be66a835592b780ddce6749ca

Contents?: true

Size: 1.35 KB

Versions: 1

Compression:

Stored size: 1.35 KB

Contents

# Monit configuration for THIN :  <%= fetch(:application) %>  (<%= fetch(:stage) %>)
<%  fetch(:app_instances, 1).times do |n| %>
  check process <%= fetch(:application) %>_<%= fetch(:stage) %>_thin_<%= n %> with pidfile <%= deploy_to %>/shared/pids/thin_<%= fetch(:application) %>_<%= fetch(:stage) %>.<%= n %>.pid
    group thin-<%= fetch(:application) %>-<%= fetch(:stage) %>
    start program = "/bin/su - <%= @role.user %> -c 'cd <%= current_path %> ;<% if fetch(:monit_thin_with_secret) %> export SECRET_KEY_BASE=<%= fetch(:secrets_key_base) %>; export <%= fetch(:secrets_key_name) %>=<%= fetch(:secrets_key_base) %>;<% end %> bundle exec thin start -C config/thin_app_<%= fetch(:stage) %>.yml -o <%= n %>' "
    stop program = "/bin/su - <%= @role.user %> -c 'cd <%= current_path %> ; bundle exec thin stop -C config/thin_app_<%= fetch(:stage) %>.yml -o <%= n %>' " 
    # if does not exist then start # (default)
    if does not exist for 3 cycles then alert
    if mem > <%= ( fetch( :monit_thin_totalmem_mb, 300 ).to_i * 0.75 ).to_i %> MB then alert
    if mem > <%= fetch( :monit_thin_totalmem_mb, 300 ) %> MB for 2 cycles then restart
    if cpu > 50% then alert
    if cpu > 50% for 3 cycles then restart
    if 5 restarts within 5 cycles then timeout
    # alert <%= fetch(:monit_mail_to) %> only on { pid }
    if changed pid 2 times within 20 cycles then alert
<% end %>

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
magic_recipes_two-0.0.43 lib/generators/capistrano/magic_recipes/templates/monit/thin.erb