Class: Wayfarer::Base
- Inherits:
-
ActiveJob::Base
- Object
- ActiveJob::Base
- Wayfarer::Base
- Extended by:
- Forwardable
- Includes:
- Middleware::Worker
- Defined in:
- lib/wayfarer/base.rb
Direct Known Subclasses
Class Method Summary collapse
- .crawl_later(url, batch: SecureRandom.uuid) ⇒ Object
- .discard_on(*argv) ⇒ Object
- .retry_on(*argv) ⇒ Object
Instance Method Summary collapse
Methods included from Middleware::Worker
Class Method Details
.crawl_later(url, batch: SecureRandom.uuid) ⇒ Object
32 33 34 |
# File 'lib/wayfarer/base.rb', line 32 def self.crawl_later(url, batch: SecureRandom.uuid) perform_later(Task.new(url, batch)) end |
.discard_on(*argv) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/wayfarer/base.rb', line 24 def self.discard_on(*argv) super(*argv) do |job, error| job.task..seen?(job.task.url) GC.new(job).run yield job, error if block_given? end end |
.retry_on(*argv) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/wayfarer/base.rb', line 16 def self.retry_on(*argv) super(*argv) do |job, error| job.task..seen?(job.task.url) GC.new(job).run yield job, error if block_given? end end |
Instance Method Details
#perform(task) ⇒ Object
41 42 43 44 |
# File 'lib/wayfarer/base.rb', line 41 def perform(task) task.job = self chain.call(task) end |
#retry_job ⇒ Object
36 37 38 39 |
# File 'lib/wayfarer/base.rb', line 36 def retry_job(...) super(...) # increments the counter by re-enqueuing the job task.counter.decrement end |
#task ⇒ Object
46 47 48 |
# File 'lib/wayfarer/base.rb', line 46 def task arguments.first end |