Class: Qless::PoolFactory
- Inherits:
-
Object
- Object
- Qless::PoolFactory
- Defined in:
- lib/qless/pool/pool_factory.rb
Instance Method Summary collapse
- #client ⇒ Object
- #client=(client) ⇒ Object
-
#initialize(options = {}) ⇒ PoolFactory
constructor
A new instance of PoolFactory.
- #reserver(queues) ⇒ Object
- #reserver_class ⇒ Object
- #reserver_class=(reserver_class) ⇒ Object
- #worker(queues) ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ PoolFactory
Returns a new instance of PoolFactory.
4 5 6 7 8 9 10 11 |
# File 'lib/qless/pool/pool_factory.rb', line 4 def initialize(={}) @options = { :term_timeout => ENV['TERM_TIMEOUT'] || 4.0, :verbose => !!ENV['VERBOSE'], :very_verbose => !!ENV['VVERBOSE'], :run_as_single_process => !!ENV['RUN_AS_SINGLE_PROCESS'] }.merge() end |
Instance Method Details
#client ⇒ Object
13 14 15 |
# File 'lib/qless/pool/pool_factory.rb', line 13 def client @qless_client ||= Qless::Client.new end |
#client=(client) ⇒ Object
17 18 19 |
# File 'lib/qless/pool/pool_factory.rb', line 17 def client=(client) @qless_client = client end |
#reserver(queues) ⇒ Object
29 30 31 |
# File 'lib/qless/pool/pool_factory.rb', line 29 def reserver(queues) reserver_class.new(queues) end |
#reserver_class ⇒ Object
21 22 23 |
# File 'lib/qless/pool/pool_factory.rb', line 21 def reserver_class @reserver_class ||= Qless::JobReservers.const_get(ENV.fetch('JOB_RESERVER', 'Ordered')) end |
#reserver_class=(reserver_class) ⇒ Object
25 26 27 |
# File 'lib/qless/pool/pool_factory.rb', line 25 def reserver_class=(reserver_class) @reserver_class = reserver_class end |
#worker(queues) ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/qless/pool/pool_factory.rb', line 33 def worker(queues) queues = queues.to_s.split(',').map { |q| client.queues[q.strip] } if queues.none? raise "No queues provided" end Qless::Worker.new(reserver(queues), @options) end |