Module: Wurk::Worker
- Defined in:
- lib/wurk/worker.rb,
lib/wurk/worker/setter.rb
Overview
The user-facing job DSL. include Wurk::Worker — or its modern alias
Sidekiq::Job / Sidekiq::Worker — onto a class to make it a background
job. The class gains sidekiq_options, the perform_* enqueue methods,
set, and the retry-hook DSL; each instance gains jid, logger,
interrupted?, and the batch helpers.
Spec: docs/target/sidekiq-free.md §6 (Sidekiq::Job).
Defined Under Namespace
Modules: ClassMethods Classes: Setter
Constant Summary collapse
- SCHEDULED_THRESHOLD =
Interval values below this threshold are interpreted as seconds-from-now; values at or above are treated as absolute epoch timestamps. Threshold matches Sidekiq exactly — wire-compat sacred.
1_000_000_000
Instance Attribute Summary collapse
-
#bid ⇒ Object
Batch helpers (Pro).
Class Method Summary collapse
- .clear_all ⇒ Object
- .drain_all ⇒ Object
-
.jobs ⇒ Object
Module-level test helpers:
Sidekiq::Worker.jobs / clear_all / drain_alloperate across every job class (spec §24.3).
Instance Method Summary collapse
- #batch ⇒ Object
-
#interrupted? ⇒ Boolean
Cooperative cancellation flag for IterableJob and long-running jobs.
- #logger ⇒ Object
-
#valid_within_batch? ⇒ Boolean
False if the batch was invalidated.
Instance Attribute Details
#bid ⇒ Object
Batch helpers (Pro). Available on every worker — return nil when the current job did not originate from a batch.
Spec: docs/target/sidekiq-pro.md §2.6.
65 66 67 |
# File 'lib/wurk/worker.rb', line 65 def bid @bid end |
Class Method Details
.clear_all ⇒ Object
47 |
# File 'lib/wurk/worker.rb', line 47 def self.clear_all = ::Wurk::Queues.clear_all |
Instance Method Details
#batch ⇒ Object
72 73 74 75 76 |
# File 'lib/wurk/worker.rb', line 72 def batch return nil if @bid.nil? Wurk::Batch.new(@bid) end |
#interrupted? ⇒ Boolean
Cooperative cancellation flag for IterableJob and long-running jobs. Returns false when no processor context has been attached.
56 57 58 59 |
# File 'lib/wurk/worker.rb', line 56 def interrupted? ctx = @_context ctx.respond_to?(:stopping?) && ctx.stopping? end |
#valid_within_batch? ⇒ Boolean
False if the batch was invalidated. Workers should return unless valid_within_batch? to short-circuit work for cancelled batches.
80 81 82 83 84 |
# File 'lib/wurk/worker.rb', line 80 def valid_within_batch? return true if @bid.nil? batch.valid? end |