Module: SidekiqUniqueJobs
- Extended by:
- Middleware
- Includes:
- Connection
- Defined in:
- lib/sidekiq_unique_jobs/constants.rb,
lib/sidekiq_unique_jobs/cli.rb,
lib/sidekiq_unique_jobs/job.rb,
lib/sidekiq_unique_jobs/web.rb,
lib/sidekiq_unique_jobs/util.rb,
lib/sidekiq_unique_jobs/digests.rb,
lib/sidekiq_unique_jobs/logging.rb,
lib/sidekiq_unique_jobs/scripts.rb,
lib/sidekiq_unique_jobs/timeout.rb,
lib/sidekiq_unique_jobs/version.rb,
lib/sidekiq_unique_jobs/locksmith.rb,
lib/sidekiq_unique_jobs/connection.rb,
lib/sidekiq_unique_jobs/exceptions.rb,
lib/sidekiq_unique_jobs/middleware.rb,
lib/sidekiq_unique_jobs/normalizer.rb,
lib/sidekiq_unique_jobs/unlockable.rb,
lib/sidekiq_unique_jobs/on_conflict.rb,
lib/sidekiq_unique_jobs/unique_args.rb,
lib/sidekiq_unique_jobs/web/helpers.rb,
lib/sidekiq_unique_jobs/version_check.rb,
lib/sidekiq_unique_jobs/lock/base_lock.rb,
lib/sidekiq_unique_jobs/on_conflict/log.rb,
lib/sidekiq_unique_jobs/client/middleware.rb,
lib/sidekiq_unique_jobs/on_conflict/raise.rb,
lib/sidekiq_unique_jobs/server/middleware.rb,
lib/sidekiq_unique_jobs/lock/until_expired.rb,
lib/sidekiq_unique_jobs/on_conflict/reject.rb,
lib/sidekiq_unique_jobs/timeout/calculator.rb,
lib/sidekiq_unique_jobs/lock/until_executed.rb,
lib/sidekiq_unique_jobs/on_conflict/replace.rb,
lib/sidekiq_unique_jobs/sidekiq_unique_jobs.rb,
lib/sidekiq_unique_jobs/lock/until_executing.rb,
lib/sidekiq_unique_jobs/lock/while_executing.rb,
lib/sidekiq_unique_jobs/on_conflict/strategy.rb,
lib/sidekiq_unique_jobs/options_with_fallback.rb,
lib/sidekiq_unique_jobs/on_conflict/reschedule.rb,
lib/sidekiq_unique_jobs/sidekiq_worker_methods.rb,
lib/sidekiq_unique_jobs/on_conflict/null_strategy.rb,
lib/sidekiq_unique_jobs/lock/while_executing_reject.rb,
lib/sidekiq_unique_jobs/lock/until_and_while_executing.rb
Overview
Contains configuration and utility methods that belongs top level
Defined Under Namespace
Modules: Client, Connection, Digests, Job, Logging, Middleware, Normalizer, OnConflict, OptionsWithFallback, Scripts, Server, SidekiqWorkerMethods, Timeout, Unlockable, Util, Web Classes: Cli, Conflict, Lock, Locksmith, ScriptError, UniqueArgs, UnknownLock, VersionCheck
Constant Summary collapse
- VERSION =
"6.0.22"
- Config =
Concurrent::MutableStruct.new( :default_lock_timeout, :enabled, :unique_prefix, :logger, )
Class Method Summary collapse
-
.config ⇒ Object
The current configuration (See: SidekiqUniqueJobs.configure on how to configure).
-
.configure(options = {}) { ... } ⇒ Object
Configure the gem.
-
.logger ⇒ Logger
The current logger.
-
.logger=(other) ⇒ Object
Set a new logger.
- .redis_version ⇒ Object
-
.use_config(tmp_config) { ... } ⇒ Object
Change global configuration while yielding.
-
.with_context(context) ⇒ Object
:reek:ManualDispatch.
Methods included from Middleware
configure_client_middleware, configure_middleware, configure_server_middleware, extended
Methods included from Connection
Class Method Details
.config ⇒ Object
The current configuration (See: configure on how to configure)
20 21 22 23 24 25 26 27 28 |
# File 'lib/sidekiq_unique_jobs/sidekiq_unique_jobs.rb', line 20 def config # Arguments here need to match the definition of the new class (see above) @config ||= Config.new( 0, true, "uniquejobs", Sidekiq.logger, ) end |
.configure(options = {}) { ... } ⇒ Object
Configure the gem
This is usually called once at startup of an application
75 76 77 78 79 80 81 82 83 |
# File 'lib/sidekiq_unique_jobs/sidekiq_unique_jobs.rb', line 75 def configure( = {}) if block_given? yield config else .each do |key, val| config.send("#{key}=", val) end end end |
.logger ⇒ Logger
The current logger
32 33 34 |
# File 'lib/sidekiq_unique_jobs/sidekiq_unique_jobs.rb', line 32 def logger config.logger end |
.logger=(other) ⇒ Object
Set a new logger
51 52 53 |
# File 'lib/sidekiq_unique_jobs/sidekiq_unique_jobs.rb', line 51 def logger=(other) config.logger = other end |
.redis_version ⇒ Object
85 86 87 |
# File 'lib/sidekiq_unique_jobs/sidekiq_unique_jobs.rb', line 85 def redis_version @redis_version ||= redis { |conn| conn.info("server")["redis_version"] } end |
.use_config(tmp_config) { ... } ⇒ Object
Change global configuration while yielding
57 58 59 60 61 62 63 64 |
# File 'lib/sidekiq_unique_jobs/sidekiq_unique_jobs.rb', line 57 def use_config(tmp_config) raise ::ArgumentError, "#{name}.#{__method__} needs a block" unless block_given? old_config = config.to_h configure(tmp_config) yield configure(old_config) end |
.with_context(context) ⇒ Object
:reek:ManualDispatch
37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/sidekiq_unique_jobs/sidekiq_unique_jobs.rb', line 37 def with_context(context) if logger.respond_to?(:with_context) logger.with_context(context) { yield } elsif defined?(Sidekiq::Context) Sidekiq::Context.with(context) { yield } elsif defined?(Sidekiq::Logging) Sidekiq::Logging.with_context(context) { yield } else yield end end |