Class: Sidekiq::SortedEntry
- Inherits:
-
Job
- Object
- Job
- Sidekiq::SortedEntry
show all
- Defined in:
- lib/sidekiq/api.rb
Instance Attribute Summary collapse
Attributes inherited from Job
#item
Instance Method Summary
collapse
Methods inherited from Job
#[], #args, #enqueued_at, #jid, #klass, #latency, #queue
Constructor Details
#initialize(parent, score, item) ⇒ SortedEntry
Returns a new instance of SortedEntry.
206
207
208
209
210
|
# File 'lib/sidekiq/api.rb', line 206
def initialize(parent, score, item)
super(item)
@score = score
@parent = parent
end
|
Instance Attribute Details
#score ⇒ Object
Returns the value of attribute score.
204
205
206
|
# File 'lib/sidekiq/api.rb', line 204
def score
@score
end
|
Instance Method Details
#add_to_queue ⇒ Object
225
226
227
228
229
230
231
232
233
234
|
# File 'lib/sidekiq/api.rb', line 225
def add_to_queue
Sidekiq.redis do |conn|
results = conn.zrangebyscore('schedule', score, score)
conn.zremrangebyscore('schedule', score, score)
results.map do |message|
msg = Sidekiq.load_json(message)
Sidekiq::Client.push(msg)
end
end
end
|
#at ⇒ Object
212
213
214
|
# File 'lib/sidekiq/api.rb', line 212
def at
Time.at(score)
end
|
#delete ⇒ Object
216
217
218
|
# File 'lib/sidekiq/api.rb', line 216
def delete
@parent.delete(score, jid)
end
|
#reschedule(at) ⇒ Object
220
221
222
223
|
# File 'lib/sidekiq/api.rb', line 220
def reschedule(at)
@parent.delete(score, jid)
@parent.schedule(at, item)
end
|
#retry ⇒ Object
236
237
238
239
240
241
242
243
244
245
246
247
|
# File 'lib/sidekiq/api.rb', line 236
def retry
raise "Retry not available on jobs not in the Retry queue." unless item["failed_at"]
Sidekiq.redis do |conn|
results = conn.zrangebyscore('retry', score, score)
conn.zremrangebyscore('retry', score, score)
results.map do |message|
msg = Sidekiq.load_json(message)
msg['retry_count'] = msg['retry_count'] - 1
Sidekiq::Client.push(msg)
end
end
end
|