Module: Sidekiq
- Defined in:
- lib/wurk/compat.rb,
lib/wurk/active_job/wrapper.rb
Overview
Defined under the Sidekiq::ActiveJob namespace (not Wurk::ActiveJob) so
the canonical class string written to Redis stays "Sidekiq::ActiveJob::Wrapper"
— the exact wire shape Sidekiq emits. Mixed Sidekiq/Wurk worker pools can
read the same payloads either way. Wire-compat is sacred.
Wurk::ActiveJob::Wrapper and ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper
both resolve here so legacy enqueued payloads load on the gem swap.
Spec: docs/target/sidekiq-free.md §28.
Defined Under Namespace
Modules: ActiveJob, Enterprise, Pro
Constant Summary
collapse
- NAME =
Version stamps mirror Sidekiq's OSS release Wurk targets for compat.
Third-party gems version-gate on these; raise the MAJOR only when the
upstream Sidekiq major bumps and Wurk has matching surface.
'Sidekiq'
- LICENSE =
'See LICENSE'
- VERSION =
'8.1.5'
- MAJOR =
8
- BasicFetch =
Wurk::Fetcher::Reliable
- Batch =
Wurk::Batch
- BatchSet =
Wurk::BatchSet
- Capsule =
Wurk::Capsule
- CLI =
Wurk::CLI
- Client =
Wurk::Client
- Component =
Wurk::Component
- Config =
Wurk::Configuration
- Context =
Wurk::Context
- CronParser =
No Sidekiq::Cron alias on purpose (#204): real Sidekiq never defines it
— that namespace belongs to the third-party sidekiq-cron gem, and squatting
it made the gem's own classes (Poller, Job) collide at load. Wurk's native
periodic surface is Sidekiq::Periodic (Ent parity) / Wurk::Cron.
Wurk::Cron::Parser
- Periodic =
Wurk::Cron
- DeadSet =
Wurk::DeadSet
- Deploy =
Wurk::Deploy
- Embedded =
Wurk::Embedded
- Encryption =
Wurk::Encryption
- Flow =
A Wurk extra, not parity — aliased because nothing else claims the name.
Checked before adding it, the way Sidekiq::Cron (#204) and
Sidekiq::Status taught us to: upstream Sidekiq defines no Flow anywhere
in lib/ at the pinned parity SHA, RubyGems has no sidekiq-flow or
sidekiq_flow gem, and the only Sidekiq::Flow in public Ruby is a
FlowIdMiddleware nested under a gem's own Sidekiq module, which this
constant cannot reach.
Wurk::Flow
- FlowSet =
Wurk::FlowSet
- History =
Wurk::History
- IterableJob =
Wurk::IterableJob
- IterableJobQuery =
Wurk::IterableJobQuery
- Job =
Wurk::Job
- JobLogger =
Wurk::JobLogger
- JobRecord =
Wurk::JobRecord
- JobRetry =
Wurk::JobRetry
- JobUtil =
Wurk::JobUtil
- Keys =
Wurk::Keys
- Launcher =
Wurk::Launcher
- Limiter =
Wurk::Limiter
- Logger =
Wurk::Logger
- Manager =
Wurk::Manager
- Metrics =
Wurk::Metrics
- Middleware =
Wurk::Middleware
- ServerMiddleware =
Wurk::Middleware::ServerMiddleware
- ClientMiddleware =
Wurk::Middleware::ClientMiddleware
- Process =
Wurk::Process
- ProcessSet =
Wurk::ProcessSet
- Processor =
Wurk::Processor
- Profiler =
Wurk::Profiler
- ProfileSet =
Wurk::ProfileSet
- ProfileRecord =
Wurk::ProfileRecord
- Queue =
Wurk::Queue
- RedisClientAdapter =
Wurk::RedisClientAdapter
- RedisConnection =
Wurk::RedisConnection
- RetrySet =
Wurk::RetrySet
- Scheduled =
Wurk::Scheduled
- ScheduledSet =
Wurk::ScheduledSet
- Shutdown =
Wurk::Shutdown
- SortedEntry =
Wurk::SortedEntry
- Stats =
Wurk::Stats
- Testing =
No Sidekiq::Status alias on purpose, same reason as Sidekiq::Cron
(#204): the sidekiq-status gem owns that namespace and opens it with
module Sidekiq::Status, which resolves an existing constant rather than
defining a fresh module — so the alias would make the gem reopen
Wurk::Status and, loading second, silently replace .get/.delete with its
own two-arg-shaped versions while nesting its Storage/Worker/middlewares
inside ours. Upstream Sidekiq's only Status is Sidekiq::Batch::Status
(sidekiq-pro.md §2.5), which is aliased; the top-level name is not a
Sidekiq surface at all. Wurk's tracking is Wurk::Status, reached by name,
and its status:<jid> rows are disjoint from the gem's sidekiq:status:<jid>.
Wurk::Testing
- TransactionAwareClient =
Wurk::TransactionAwareClient
- Queues =
Wurk::Queues
- EmptyQueueError =
Wurk::Testing::EmptyQueueError
- Web =
Wurk::Web
- Work =
Wurk::Work
- Worker =
Wurk::Worker
- Workers =
Wurk::Workers
- WorkSet =
Wurk::WorkSet
- CurrentAttributes =
Drop-in alias. Sidekiq documents the top-level constant
Sidekiq::CurrentAttributes (with .persist and Save/Load nested),
not the Middleware::-namespaced form. Set when this opt-in file is
required, so Sidekiq::CurrentAttributes.persist(MyAttrs) resolves.
Wurk::Middleware::CurrentAttributes
Class Method Summary
collapse
Class Method Details
.default_configuration ⇒ Object
191
|
# File 'lib/wurk/compat.rb', line 191
def default_configuration = Wurk.default_configuration
|
.default_job_options ⇒ Object
.default_job_options=(hash) ⇒ Object
205
206
207
|
# File 'lib/wurk/compat.rb', line 205
def default_job_options=(hash)
Wurk.default_job_options = hash
end
|
.dump_json(obj) ⇒ Object
214
|
# File 'lib/wurk/compat.rb', line 214
def dump_json(obj) = Wurk.dump_json(obj)
|
.ent? ⇒ Boolean
202
|
# File 'lib/wurk/compat.rb', line 202
def ent? = Wurk.ent?
|
.load_json(str) ⇒ Object
213
|
# File 'lib/wurk/compat.rb', line 213
def load_json(str) = Wurk.load_json(str)
|
.logger ⇒ Object
194
|
# File 'lib/wurk/compat.rb', line 194
def logger = Wurk.logger
|
.logger=(logger) ⇒ Object
196
197
198
|
# File 'lib/wurk/compat.rb', line 196
def logger=(logger)
Wurk.logger = logger
end
|
.pro? ⇒ Boolean
201
|
# File 'lib/wurk/compat.rb', line 201
def pro? = Wurk.pro?
|
.redis(idempotent: false) ⇒ Object
192
|
# File 'lib/wurk/compat.rb', line 192
def redis(idempotent: false, &) = Wurk.redis(idempotent:, &)
|
.redis_pool ⇒ Object
193
|
# File 'lib/wurk/compat.rb', line 193
def redis_pool = Wurk.redis_pool
|
.server? ⇒ Boolean
200
|
# File 'lib/wurk/compat.rb', line 200
def server? = Wurk.server?
|
.strict_args!(mode = :raise) ⇒ Object
209
|
# File 'lib/wurk/compat.rb', line 209
def strict_args!(mode = :raise) = Wurk.strict_args!(mode)
|
.testing!(mode = :fake) ⇒ Object
211
|
# File 'lib/wurk/compat.rb', line 211
def testing!(mode = :fake, &) = Wurk.testing!(mode, &)
|
.testing? ⇒ Boolean
212
|
# File 'lib/wurk/compat.rb', line 212
def testing? = Wurk.testing?
|
.transactional_push! ⇒ Object