Class: Camunda::Poller
- Inherits:
-
Object
- Object
- Camunda::Poller
- Defined in:
- lib/camunda/poller.rb
Overview
The poller will run as an infinite loop with long polling to fetch tasks, queue, and run them. Topic is the process definition key. Below will run the poller to fetch, lock, and queue a task for the example process definition with an id of CamundaWorkflow.
Class Method Summary collapse
-
.fetch_and_execute(topics, lock_duration: nil, long_polling_duration: nil) ⇒ Object
deprecated
Deprecated.
Please use #fetch_and_queue instead
- .fetch_and_queue(topics, lock_duration: nil, long_polling_duration: nil) ⇒ Object
Class Method Details
.fetch_and_execute(topics, lock_duration: nil, long_polling_duration: nil) ⇒ Object
Deprecated.
Please use #fetch_and_queue instead
8 9 10 11 |
# File 'lib/camunda/poller.rb', line 8 def self.fetch_and_execute(topics, lock_duration: nil, long_polling_duration: nil) warn "[DEPRECATION] `fetch_and_execute` is deprecated. Please use `fetch_and_queue` instead." fetch_and_queue(topics, lock_duration: lock_duration, long_polling_duration: long_polling_duration) end |
.fetch_and_queue(topics, lock_duration: nil, long_polling_duration: nil) ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/camunda/poller.rb', line 16 def self.fetch_and_queue(topics, lock_duration: nil, long_polling_duration: nil) loop do Camunda::ExternalTask .fetch_and_lock(topics, lock_duration: lock_duration, long_polling_duration: long_polling_duration).each do |task| task.queue_task rescue Camunda::MissingImplementationClass => e task.failure(e) end end end |