Leveraging Your Content for Website Publishing & Collaboration
"Supporting your rails application with custom daemons"
http://thoughtbot.com/projects/ldap-ar-gateway
def daemonize
Kernel.fork and Kernel.exit
Process.setsid
Kernel.fork and Kernel.exit
File.umask 0
Dir.chdir '/'
ObjectSpace.each_object(IO) {|io| io.close rescue nil}
STDIN.open '/dev/null'
STDOUT.open '/dev/nul', a
end
-- or --
require 'daemons'
Daemonis.daemonize
loop {
---
}
require 'environment.rb' if not defined? RAILS_ROOT ActiveRecord:;Base.allow_concurrency = true #Otherwise get MySQL lost connection error
raise 'Error'
end
These are easy and good for single-shot or periodic tasks but overlapping execution can be a problem.
Is good, early versions are buggy