Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

The simple way to create and monitor a Ruby daemon

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 spec
Octocat-spinner-32 templates
Octocat-spinner-32 .gitignore
Octocat-spinner-32 MIT-LICENSE
Octocat-spinner-32 README.markdown
Octocat-spinner-32 Rakefile
Octocat-spinner-32 require.rb
README.markdown

With PID

The simple way to create and monitor a Ruby daemon.

Works by generating a bash file and executing it instead of doing any Ruby process tricks.

Requirements

sudo gem install with_pid

Ruby script

/data/my_app/current/bin/dj

#!/usr/bin/env ruby

require 'rubygems'
require 'with_pid'

with_pid(
  :action => ARGV[0], # start or stop
  :command => "/data/my_app/current/script/runner 'Delayed::Worker.new.start'",
  :name => "dj",
  :pid => "/var/run/dj/dj.pid",
  :tmp => "/data/my_app/current/tmp",
  :user => "deploy"
)

Be sure to run chmod +x /data/my_app/current/bin/dj.

It is up to you to make sure that the command you execute runs in a continuous loop.

Monit

check process delayed_job
  with pidfile /var/run/dj/dj.pid
  start program = "/data/my_app/current/bin/dj start"
  stop program = "/data/my_app/current/bin/dj stop"
  group delayed_job
Something went wrong with that request. Please try again.