Method: Resque::Worker#initialize

Defined in:
lib/resque/worker.rb

#initialize(*queues) ⇒ Worker

Workers should be initialized with an array of string queue names. The order is important: a Worker will check the first queue given for a job. If none is found, it will check the second queue name given. If a job is found, it will be processed. Upon completion, the Worker will again check the first queue given, and so forth. In this way the queue list passed to a Worker on startup defines the priorities of queues.

If passed a single “*”, this Worker will operate on all queues in alphabetical order. Queues can be dynamically added or removed without needing to restart workers using this method.

Workers should have ‘#prepare` called after they are initialized if you are running work on the worker.



139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
# File 'lib/resque/worker.rb', line 139

def initialize(*queues)
  @shutdown = nil
  @paused = nil
  @before_first_fork_hook_ran = false

  verbose_value = ENV['LOGGING'] || ENV['VERBOSE']
  self.verbose = verbose_value if verbose_value
  self.very_verbose = ENV['VVERBOSE'] if ENV['VVERBOSE']
  self.term_timeout = ENV['RESQUE_TERM_TIMEOUT'] || 4.0
  self.term_child = ENV['TERM_CHILD']
  self.graceful_term = ENV['GRACEFUL_TERM']
  self.run_at_exit_hooks = ENV['RUN_AT_EXIT_HOOKS']

  self.queues = queues
end