Class: OrbitalQueue::QueueObject

Inherits:
Object
  • Object
show all
Defined in:
lib/orbitalqueue.rb

Overview

Queue item capsule.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(queue, data, queue_id) ⇒ QueueObject

Returns a new instance of QueueObject.



240
241
242
243
244
245
246
# File 'lib/orbitalqueue.rb', line 240

def initialize(queue, data, queue_id)
  @queue = queue
  @data = data
  @queue_id = queue_id
  @completed = false
  @deferred = false
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



248
249
250
# File 'lib/orbitalqueue.rb', line 248

def data
  @data
end

Instance Method Details

#archive(archiveinfo_additional = {}) ⇒ Object

Archive current queue relative data and call destruct.



268
269
270
271
# File 'lib/orbitalqueue.rb', line 268

def archive archiveinfo_additional={}
  @completed = true
  @queue.archive @queue_id, @data, archiveinfo_additional
end

#completeObject

Another complete interface.



251
252
253
254
255
256
257
258
259
# File 'lib/orbitalqueue.rb', line 251

def complete
  if @completed
    nil
  else
    @queue.complete(@queue_id)
    @completed = true
    @queue_id
  end
end

#complete?Boolean

Terrible redundunt method.

Returns:

  • (Boolean)


274
275
276
# File 'lib/orbitalqueue.rb', line 274

def complete? # :nodoc:
  @completed
end

#defer(time_at = nil, max_count = nil, &block) ⇒ Object

Retry later.

time_at

Deferring retry until this time

max_count

Retry count limit

:call-seq:

defer(time_at, max_count=nil) -> retry_data
defer() {|retry_data| ... }   -> retry_data


286
287
288
289
290
291
292
293
# File 'lib/orbitalqueue.rb', line 286

def defer time_at=nil, max_count=nil, &block
  if block
    @queue.defer(@queue_id, &block)
  else
    @queue.defer(@queue_id, time_at, max_count)
  end
  @deferred = true
end

#deferred?Boolean

Returns:

  • (Boolean)


295
296
297
# File 'lib/orbitalqueue.rb', line 295

def deferred?
  @deferred
end

#destructObject

Wrap for the end of queue item.



262
263
264
265
# File 'lib/orbitalqueue.rb', line 262

def destruct
  @completed = true
  @queue.destruct(@queue_id)
end