Class: Sidekiq::QueueMetrics::Storage
- Inherits:
-
Object
- Object
- Sidekiq::QueueMetrics::Storage
- Defined in:
- lib/sidekiq_queue_metrics/storage.rb
Class Method Summary collapse
- .add_failed_job(job, max_count = Sidekiq::QueueMetrics.max_recently_failed_jobs) ⇒ Object
- .failed_jobs(queue) ⇒ Object
- .get_stats(queue) ⇒ Object
- .increment_stat(queue, stat, value = 1) ⇒ Object
Class Method Details
.add_failed_job(job, max_count = Sidekiq::QueueMetrics.max_recently_failed_jobs) ⇒ Object
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/sidekiq_queue_metrics/storage.rb', line 18 def add_failed_job(job, max_count = Sidekiq::QueueMetrics.max_recently_failed_jobs) queue = job['queue'] Sidekiq.redis_pool.with do |conn| failed_job_key_for_queue = Helpers.build_failed_jobs_key(queue) conn.lpush(failed_job_key_for_queue, Sidekiq.dump_json(job)) conn.rpop(failed_job_key_for_queue) if conn.llen(failed_job_key_for_queue) >= max_count end end |
.failed_jobs(queue) ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/sidekiq_queue_metrics/storage.rb', line 29 def failed_jobs(queue) result = Sidekiq.redis_pool.with do |conn| conn.lrange(Helpers.build_failed_jobs_key(queue), 0, -1) end result.map(&Sidekiq.method(:load_json)) end |
.get_stats(queue) ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/sidekiq_queue_metrics/storage.rb', line 10 def get_stats(queue) stats = Sidekiq.redis_pool.with do |conn| conn.hgetall(Helpers.build_queue_stats_key(queue)) end Helpers.convert_hash_values(stats) { |value| value.to_i } end |
.increment_stat(queue, stat, value = 1) ⇒ Object
4 5 6 7 8 |
# File 'lib/sidekiq_queue_metrics/storage.rb', line 4 def increment_stat(queue, stat, value = 1) Sidekiq.redis_pool.with do |conn| conn.hincrby(Helpers.build_queue_stats_key(queue), stat, value) end end |