lib/guard/delayed.rb in guard-delayed-0.0.4 vs lib/guard/delayed.rb in guard-delayed-0.0.5
- old
+ new
@@ -1,28 +1,52 @@
require 'guard'
require 'guard/guard'
module Guard
class Delayed < Guard
-
+
+ # Allowable options are:
+ # :environment e.g. 'test'
+ # :min_priority e.g. 2
+ # :max_priority e.g. 10
+ # :number_of_workers e.g. 2
+ # :pid_dir e.g. tmp/pids Specifies an alternate directory in which to store the process ids.
+ # :identifier A numeric identifier for the worker.
+ # :monitor Start monitor process.
+ # :sleep-delay N Amount of time to sleep when no jobs are found
+ # :prefix NAME String to be prefixed to worker process names
+
def initialize(watchers = [], options = {})
+ @options = HashWithIndifferentAccess.new(options)
super
end
def start
+ system('script/delayed_job', 'stop')
UI.info "Starting up delayed_job..."
+ args = "start"
+ args << "--environment=#{options[:environment]} " if options[:environment]
+ args << "--min-priority #{options[:min_priority]} " if options[:min_priority]
+ args << "--max-priority #{options[:max_priority]} " if options[:max_priority]
+ args << "--number_of_workers=#{options[:number_of_workers]} " if options[:number_of_workers]
+ args << "--pid-dir=#{options[:pid_dir]} " if options[:pid_dir]
+ args << "--identifier=#{options[:identifier]} " if options[:identifier]
+ args << "--monitor " if options[:monitor]
+ args << "--sleep-delay #{options[:sleep_delay]} " if options[:sleep_delay]
+ args << "--prefix #{options[:prefix]} " if options[:prefix]
system('script/delayed_job', 'start')
end
# Called on Ctrl-C signal (when Guard quits)
def stop
- UI.info "Starting up delayed_job..."
+ UI.info "Stopping delayed_job..."
system('script/delayed_job', 'stop')
end
# Called on Ctrl-Z signal
# This method should be mainly used for "reload" (really!) actions like reloading passenger/spork/bundler/...
def reload
+ UI.info "Stopping delayed_job..."
restart
end
# Called on Ctrl-/ signal
# This method should be principally used for long action like running all specs/tests/...