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

.configure_clientObject



189
# File 'lib/wurk/compat.rb', line 189

def configure_client(&) = Wurk.configure_client(&)

.configure_embedObject



190
# File 'lib/wurk/compat.rb', line 190

def configure_embed(&) = Wurk.configure_embed(&)

.configure_serverObject



188
# File 'lib/wurk/compat.rb', line 188

def configure_server(&) = Wurk.configure_server(&)

.default_configurationObject



191
# File 'lib/wurk/compat.rb', line 191

def default_configuration = Wurk.default_configuration

.default_job_optionsObject



203
# File 'lib/wurk/compat.rb', line 203

def default_job_options = Wurk.default_job_options

.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

Returns:

  • (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)

.loggerObject



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

Returns:

  • (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_poolObject



193
# File 'lib/wurk/compat.rb', line 193

def redis_pool = Wurk.redis_pool

.server?Boolean

Returns:

  • (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

Returns:

  • (Boolean)


212
# File 'lib/wurk/compat.rb', line 212

def testing? = Wurk.testing?

.transactional_push!Object



210
# File 'lib/wurk/compat.rb', line 210

def transactional_push! = Wurk.transactional_push!