Sha256: addd59d4001f86eddff02a1dd2e5304a3b2311a4825bf8e6988f41842a6d2354

Contents?: true

Size: 942 Bytes

Versions: 6

Compression:

Stored size: 942 Bytes

Contents

module Sidekiq::Status::Worker
  include Sidekiq::Status::Storage

  class Stopped < StandardError
  end

  attr_accessor :expiration

  # Stores multiple values into a job's status hash,
  # sets last update time
  # @param [Hash] status_updates updated values
  # @return [String] Redis operation status code
  def store(hash)
    store_for_id @jid, hash, @expiration
  end

  # Read value from job status hash
  # @param String|Symbol hask key
  # @return [String]
  def retrieve(name)
    read_field_for_id @jid, name
  end

  # Sets current task progress
  # (inspired by resque-status)
  # @param Fixnum number of tasks done
  # @param String optional message
  # @return [String]
  def at(num, message = nil)
    total(100) if retrieve(:total).nil?
    store(at: num, message: message)
  end

  # Sets total number of tasks
  # @param Fixnum total number of tasks
  # @return [String]
  def total(num)
    store(total: num)
  end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
sidekiq-status-0.6.0 lib/sidekiq-status/worker.rb
sidekiq-status-0.5.4 lib/sidekiq-status/worker.rb
sidekiq-status-0.5.3 lib/sidekiq-status/worker.rb
sidekiq-status-0.5.2 lib/sidekiq-status/worker.rb
sidekiq-status-0.5.1 lib/sidekiq-status/worker.rb
sidekiq-status-0.5.0 lib/sidekiq-status/worker.rb