Module: Qless
- Defined in:
- lib/qless.rb,
lib/qless.rb,
lib/qless/job.rb,
lib/qless/queue.rb,
lib/qless/config.rb,
lib/qless/server.rb,
lib/qless/version.rb,
lib/qless/lua_script.rb,
lib/qless/subscriber.rb,
lib/qless/worker/base.rb,
lib/qless/worker/serial.rb,
lib/qless/worker/forking.rb,
lib/qless/failure_formatter.rb,
lib/qless/middleware/sentry.rb,
lib/qless/middleware/metriks.rb,
lib/qless/middleware/timeout.rb,
lib/qless/job_reservers/ordered.rb,
lib/qless/job_reservers/round_robin.rb,
lib/qless/middleware/redis_reconnect.rb,
lib/qless/middleware/retry_exceptions.rb,
lib/qless/test_helpers/worker_helpers.rb,
lib/qless/middleware/requeue_exceptions.rb,
lib/qless/middleware/memory_usage_monitor.rb,
lib/qless/job_reservers/shuffled_round_robin.rb
Overview
The top level container for all things qless
Defined Under Namespace
Modules: JobReservers, Middleware, RetryExceptions, WorkerHelpers, Workers Classes: BaseJob, Client, ClientEvents, ClientJobs, ClientQueues, ClientWorkers, Config, FailureFormatter, Job, LuaPlugin, LuaScript, Queue, QueueJobs, RecurringJob, Server, Subscriber
Constant Summary collapse
- Error =
Define our error base class before requiring the other files so they can define subclasses.
Class.new(StandardError)
- USING_LEGACY_REDIS_VERSION =
to maintain backwards compatibility with v2.x of that gem we need this constant because:
-
(lua.rb) the #evalsha method signature changed between v2.x and v3.x of the redis ruby gem
-
(worker.rb) in v3.x you have to reconnect to the redis server after forking the process
-
::Redis::VERSION.to_f < 3.0
- UnsupportedRedisVersionError =
Class.new(Error)
- VERSION =
'0.12.0'
- LuaScriptError =
Class.new(Qless::Error)
- JobTimedoutError =
Unique error class used when a job is timed out by this middleware. Allows us to differentiate this timeout from others caused by ‘::Timeout::Error`
Class.new(StandardError)
- InvalidTimeoutError =
Class.new(ArgumentError)
Class Method Summary collapse
Class Method Details
.failure_formatter ⇒ Object
44 45 46 |
# File 'lib/qless.rb', line 44 def failure_formatter @failure_formatter ||= FailureFormatter.new end |
.generate_jid ⇒ Object
34 35 36 |
# File 'lib/qless.rb', line 34 def generate_jid SecureRandom.uuid.gsub('-', '') end |
.stringify_hash_keys(hash) ⇒ Object
38 39 40 41 42 |
# File 'lib/qless.rb', line 38 def stringify_hash_keys(hash) hash.each_with_object({}) do |(key, value), result| result[key.to_s] = value end end |