2 require File.join(File.dirname(__FILE__), *%w[.. .. lib god])
5 RAILS_ROOT = "/Users/tom/dev/powerset/speechverb"
10 w.interval = 5 # seconds
11 w.start = "mongrel_rails start -P ./log/mongrel.pid -c #{RAILS_ROOT} -p 3001 -d"
12 w.stop = "mongrel_rails stop -P ./log/mongrel.pid -c #{RAILS_ROOT}"
15 pid_file = File.join(RAILS_ROOT, "log/mongrel.pid")
17 # clean pid files before start if necessary
18 w.behavior(:clean_pid_file) do |b|
22 # determine the state on startup
23 w.transition(:init, { true => :up, false => :start }) do |on|
24 on.condition(:process_running) do |c|
30 # determine when process has finished starting
31 w.transition([:start, :restart], :up) do |on|
32 on.condition(:always) do |c|
37 # start if process is not running
38 w.transition(:up, :start) do |on|
39 # on.condition(:process_exits) do |c|
40 # c.pid_file = pid_file
43 on.condition(:process_running) do |c|
49 # restart if memory or cpu is too high
50 w.transition(:up, :restart) do |on|
51 on.condition(:memory_usage) do |c|
54 c.above = (50 * 1024) # 50mb
58 on.condition(:cpu_usage) do |c|
61 c.above = 10 # percent
67 # clear old session files
69 # w.name = "local-session-cleanup"
71 # Dir["#{RAILS_ROOT}/tmp/sessions/ruby_sess.*"].select do |f|
72 # File.mtime(f) < Time.now - (7 * 24 * 60 * 60)
73 # end.each { |f| File.delete(f) }
76 # w.start_if do |start|
77 # start.condition(:always)