add rescue job . can work with init script
This commit is contained in:
		
							parent
							
								
									c0b3798bad
								
							
						
					
					
						commit
						1278581a82
					
				| 
						 | 
					@ -1,29 +1,29 @@
 | 
				
			||||||
#developer pls change here
 | 
					#developer pls change here
 | 
				
			||||||
default_uid = 'kaito'
 | 
					rails_root  = "/home/nccu/NCCU/"  #keep this blank when development
 | 
				
			||||||
default_gid = 'staff'
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
rails_env   =  ENV['RAILS_ENV']  || "production"
 | 
					development_uid = 'kaito' #when dev
 | 
				
			||||||
 | 
					development_gid = 'staff' #when dev
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#rails_env   =   "developement"
 | 
				
			||||||
 | 
					rails_env   =   "production"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
rails_root  = ENV['RAILS_ROOT'] || File.expand_path("..",File.dirname(__FILE__))
 | 
					development_rails_root  =  File.expand_path("..",File.dirname(__FILE__))
 | 
				
			||||||
 | 
					#rails_root =  (rails_env == 'production' )? production_rails_root : development_rails_root 
 | 
				
			||||||
num_workers = rails_env == 'production' ? 5 : 2
 | 
					num_workers = rails_env == 'production' ? 5 : 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
num_workers.times do |num|
 | 
					num_workers.times do |num|
 | 
				
			||||||
  God.watch do |w|
 | 
					  God.watch do |w|
 | 
				
			||||||
    w.dir      = "#{rails_root}"
 | 
					    w.dir        = rails_root
 | 
				
			||||||
    w.name     = "resque-#{num}"
 | 
					    w.name    = "resque-#{num}"
 | 
				
			||||||
    w.group    = 'resque'
 | 
					    w.group   = 'resque'
 | 
				
			||||||
    w.interval = 30.seconds
 | 
					    w.interval = 30.seconds
 | 
				
			||||||
    p "/usr/bin/rake -f #{rails_root}/Rakefile resque:work  QUEUE=* RAILS_ENV=#{rails_env}"
 | 
					    w.env       = {"QUEUE"=>"critical,high,low", "RAILS_ENV"=>rails_env}
 | 
				
			||||||
#    w.env      = {"QUEUE"=>"critical,high,low", "RAILS_ENV"=>rails_env}
 | 
					    w.start     = "rake -f #{rails_root}/Rakefile resque:work  QUEUE=* RAILS_ENV=#{rails_env}"
 | 
				
			||||||
    w.start    = "rake -f #{rails_root}/Rakefile resque:work  QUEUE=* RAILS_ENV=#{rails_env}  -P /var/godgod.#{port}.pid"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    w.uid = rails_env == 'production' ? "nccu" : default_uid
 | 
					    w.uid = (rails_env == 'production' )? "root" : development_uid
 | 
				
			||||||
    w.gid = rails_env == 'production' ? "nccu" : default_gid
 | 
					    w.gid = (rails_env == 'production' )? "root" : development_gid
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					     w.log = (rails_env == 'production' )? "/var/log/#{w.name}.log":"#{rails_root}/log/#{w.name}.log"
 | 
				
			||||||
    w.log = "#{rails_root}/log/god.log"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # restart if memory gets too high
 | 
					    # restart if memory gets too high
 | 
				
			||||||
    w.transition(:up, :restart) do |on|
 | 
					    w.transition(:up, :restart) do |on|
 | 
				
			||||||
| 
						 | 
					@ -62,4 +62,5 @@ num_workers.times do |num|
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,63 @@
 | 
				
			||||||
 | 
					#developer pls change here
 | 
				
			||||||
 | 
					rails_root  = "/home/nccu/NCCU/"  #keep this blank when development
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					development_uid = 'kaito' #when dev
 | 
				
			||||||
 | 
					development_gid = 'staff' #when dev
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#rails_env   =   "developement"
 | 
				
			||||||
 | 
					rails_env   =   "production"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					development_rails_root  =  File.expand_path("..",File.dirname(__FILE__))
 | 
				
			||||||
 | 
					#rails_root =  (rails_env == 'production' )? production_rails_root : development_rails_root 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  God.watch do |w|
 | 
				
			||||||
 | 
					    w.dir        = rails_root
 | 
				
			||||||
 | 
					    w.name    = "resque-scheduler"
 | 
				
			||||||
 | 
					    w.group   = 'resque'
 | 
				
			||||||
 | 
					    w.interval = 30.seconds
 | 
				
			||||||
 | 
					    w.env       = {"QUEUE"=>"critical,high,low", "RAILS_ENV"=>rails_env}
 | 
				
			||||||
 | 
					    w.start     = "rake -f #{rails_root}/Rakefile resque:scheduler RAILS_ENV=#{rails_env}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    w.uid = (rails_env == 'production' )? "root" : development_uid
 | 
				
			||||||
 | 
					    w.gid = (rails_env == 'production' )? "root" : development_gid
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					     w.log = (rails_env == 'production' )? "/var/log/#{w.name}.log":"#{rails_root}/log/#{w.name}.log"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # restart if memory gets too high
 | 
				
			||||||
 | 
					    w.transition(:up, :restart) do |on|
 | 
				
			||||||
 | 
					      on.condition(:memory_usage) do |c|
 | 
				
			||||||
 | 
					        c.above = 350.megabytes
 | 
				
			||||||
 | 
					        c.times = 2
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # determine the state on startup
 | 
				
			||||||
 | 
					    w.transition(:init, { true => :up, false => :start }) do |on|
 | 
				
			||||||
 | 
					      on.condition(:process_running) do |c|
 | 
				
			||||||
 | 
					        c.running = true
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # determine when process has finished starting
 | 
				
			||||||
 | 
					    w.transition([:start, :restart], :up) do |on|
 | 
				
			||||||
 | 
					      on.condition(:process_running) do |c|
 | 
				
			||||||
 | 
					        c.running = true
 | 
				
			||||||
 | 
					        c.interval = 5.seconds
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # failsafe
 | 
				
			||||||
 | 
					      on.condition(:tries) do |c|
 | 
				
			||||||
 | 
					        c.times = 5
 | 
				
			||||||
 | 
					        c.transition = :start
 | 
				
			||||||
 | 
					        c.interval = 5.seconds
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # start if process is not running
 | 
				
			||||||
 | 
					    w.transition(:up, :start) do |on|
 | 
				
			||||||
 | 
					      on.condition(:process_running) do |c|
 | 
				
			||||||
 | 
					        c.running = false
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue