Module: Sidekiq::Status
- Extended by:
- Storage
- Defined in:
- lib/sidekiq-status/web.rb,
lib/sidekiq-status/version.rb,
lib/sidekiq-status/testing/inline.rb,
lib/sidekiq-status/client_middleware.rb,
lib/sidekiq-status/server_middleware.rb,
lib/sidekiq-status.rb
Overview
adapted from github.com/cryo28/sidekiq_status
Defined Under Namespace
Modules: Storage, Web, Worker Classes: ClientMiddleware, RedisAdapter, RedisClientAdapter, ServerMiddleware
Constant Summary collapse
- VERSION =
'3.0.0'- DEFAULT_EXPIRY =
60 * 30
- STATUS =
[ :queued, :working, :retrying, :complete, :stopped, :failed, :interrupted ].freeze
Constants included from Storage
Storage::BATCH_LIMIT, Storage::RESERVED_FIELDS
Class Method Summary collapse
-
.at(job_id) ⇒ Object
Methods for retrieving job completion.
- .cancel(job_id, job_unix_time = nil) ⇒ Object (also: unschedule)
-
.configure_client_middleware(sidekiq_config, client_middleware_options = {}) ⇒ Object
Helper method to easily configure sidekiq-status client middleware whatever the Sidekiq version is.
-
.configure_server_middleware(sidekiq_config, server_middleware_options = {}) ⇒ Object
Helper method to easily configure sidekiq-status server middleware whatever the Sidekiq version is.
- .delete(job_id) ⇒ Object
-
.get(job_id, field) ⇒ String
Job status by id.
-
.get_all(job_id) ⇒ Hash
Get all status fields for a job.
- .message(job_id) ⇒ Object
- .pct_complete(job_id) ⇒ Object
- .redis_adapter ⇒ Object
- .status(job_id) ⇒ Object
- .total(job_id) ⇒ Object
- .wrap_redis_connection(conn) ⇒ Object
Class Method Details
.at(job_id) ⇒ Object
Methods for retrieving job completion
54 55 56 |
# File 'lib/sidekiq-status.rb', line 54 def at(job_id) get(job_id, :at).to_i end |
.cancel(job_id, job_unix_time = nil) ⇒ Object Also known as: unschedule
37 38 39 |
# File 'lib/sidekiq-status.rb', line 37 def cancel(job_id, job_unix_time = nil) delete_and_unschedule(job_id, job_unix_time) end |
.configure_client_middleware(sidekiq_config, client_middleware_options = {}) ⇒ Object
Helper method to easily configure sidekiq-status client middleware whatever the Sidekiq version is.
63 64 65 66 67 |
# File 'lib/sidekiq-status/client_middleware.rb', line 63 def self.configure_client_middleware(sidekiq_config, = {}) sidekiq_config.client_middleware do |chain| chain.add Sidekiq::Status::ClientMiddleware, end end |
.configure_server_middleware(sidekiq_config, server_middleware_options = {}) ⇒ Object
Helper method to easily configure sidekiq-status server middleware whatever the Sidekiq version is.
92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/sidekiq-status/server_middleware.rb', line 92 def self.configure_server_middleware(sidekiq_config, = {}) sidekiq_config.server_middleware do |chain| if Sidekiq.major_version < 5 chain.insert_after Sidekiq::Middleware::Server::Logging, Sidekiq::Status::ServerMiddleware, else chain.add Sidekiq::Status::ServerMiddleware, end end end |
.delete(job_id) ⇒ Object
41 42 43 |
# File 'lib/sidekiq-status.rb', line 41 def delete(job_id) delete_status(job_id) end |
.get(job_id, field) ⇒ String
Job status by id
21 22 23 |
# File 'lib/sidekiq-status.rb', line 21 def get(job_id, field) read_field_for_id(job_id, field) end |
.get_all(job_id) ⇒ Hash
Get all status fields for a job
28 29 30 |
# File 'lib/sidekiq-status.rb', line 28 def get_all(job_id) read_hash_for_id(job_id) end |
.message(job_id) ⇒ Object
66 67 68 |
# File 'lib/sidekiq-status.rb', line 66 def (job_id) get(job_id, :message) end |
.pct_complete(job_id) ⇒ Object
62 63 64 |
# File 'lib/sidekiq-status.rb', line 62 def pct_complete(job_id) get(job_id, :pct_complete).to_i end |
.redis_adapter ⇒ Object
78 79 80 |
# File 'lib/sidekiq-status.rb', line 78 def redis_adapter Sidekiq.redis { |conn| yield wrap_redis_connection(conn) } end |
.status(job_id) ⇒ Object
4 5 6 |
# File 'lib/sidekiq-status/testing/inline.rb', line 4 def status(jid) :complete end |
.total(job_id) ⇒ Object
58 59 60 |
# File 'lib/sidekiq-status.rb', line 58 def total(job_id) get(job_id, :total).to_i end |
.wrap_redis_connection(conn) ⇒ Object
70 71 72 73 74 75 76 |
# File 'lib/sidekiq-status.rb', line 70 def wrap_redis_connection(conn) if Sidekiq.major_version >= 7 conn.is_a?(RedisClientAdapter) ? conn : RedisClientAdapter.new(conn) else conn.is_a?(RedisAdapter) ? conn : RedisAdapter.new(conn) end end |