RQ::SleepCycle (Class)

In: lib/rq-2.0.0/sleepcycle.rb
Parent: Array
MainHelper StatusLister Snapshotter Feeder Deleter Relayer Executor Submitter Locker Backer Configurator Lister Rotater Creator Updater Querier ::Hash ConfigFile DRbUndumped JobRunner Main QDB JobQueue JobRunnerDaemon Array SleepCycle Job ArrayFields ::OrderedHash OrderedAutoHash LogMethods Refresher lib/rq-2.0.0/updater.rb lib/rq-2.0.0/lister.rb lib/rq-2.0.0/submitter.rb lib/rq-2.0.0/refresher.rb lib/rq-2.0.0/snapshotter.rb lib/rq-2.0.0/jobrunnerdaemon.rb lib/rq-2.0.0/configfile.rb lib/rq-2.0.0/querier.rb lib/rq-2.0.0/mainhelper.rb lib/rq-2.0.0/creator.rb lib/rq-2.0.0/feeder.rb lib/rq-2.0.0/qdb.rb bin/rq.rb lib/rq-2.0.0/configurator.rb lib/rq-2.0.0/jobqueue.rb lib/rq-2.0.0/backer.rb lib/rq-2.0.0/sleepcycle.rb lib/rq-2.0.0/jobrunner.rb lib/rq-2.0.0/executor.rb lib/rq-2.0.0/relayer.rb lib/rq-2.0.0/job.rb lib/rq-2.0.0/rotater.rb lib/rq-2.0.0/statuslister.rb lib/rq-2.0.0/locker.rb lib/rq-2.0.0/deleter.rb lib/rq-2.0.0/orderedautohash.rb Usage Util LogClassMethods LoggerExt LogMethods Logging RQ Module: RQ

the sleepcycle class provides timeouts for better than average polling performance by the locking protocol used by the QDB

Methods

new   next   reset  

Attributes

inc  [R] 
max  [R] 
min  [R] 
range  [R] 

Public Class methods

[Source]

    # File lib/rq-2.0.0/sleepcycle.rb, line 17
17:       def initialize min, max, inc
18: #--{{{
19:         @min, @max, @inc = Float(min), Float(max), Float(inc)
20:         @range = @max - @min
21:         raise RangeError, "max < min" if @max < @min
22:         raise RangeError, "inc > range" if @inc > @range
23:         s = @min
24:         push(s) and s += @inc while(s <= @max)
25:         self[-1] = @max if self[-1] < @max
26:         reset
27: #--}}}
28:       end

Public Instance methods

[Source]

    # File lib/rq-2.0.0/sleepcycle.rb, line 29
29:       def next
30: #--{{{
31:         ret = self[@idx]
32:         @idx = ((@idx + 1) % self.size)
33:         ret
34: #--}}}
35:       end

[Source]

    # File lib/rq-2.0.0/sleepcycle.rb, line 36
36:       def reset
37: #--{{{
38:         @idx = 0
39: #--}}}
40:       end

[Validate]