summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Winberg <adam.winberg@smhi.se>2016-05-27 13:00:25 +0200
committerAdam Winberg <adam.winberg@smhi.se>2016-05-27 13:00:25 +0200
commit51f4c2d0ba810c97000c3f5db37b198938683c13 (patch)
tree1662ce8273490e54e2b9f885fb75015e3ae219ae
parentf16660a2113321c4f0a1a5eaa7ef51048d25fa7c (diff)
Added feature to disable polling based on interval
-rw-r--r--lib/oxidized/jobs.rb3
-rw-r--r--lib/oxidized/worker.rb4
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/oxidized/jobs.rb b/lib/oxidized/jobs.rb
index 2c656f6..719bda9 100644
--- a/lib/oxidized/jobs.rb
+++ b/lib/oxidized/jobs.rb
@@ -6,6 +6,9 @@ module Oxidized
def initialize max, interval, nodes
@max = max
+ # Set interval to 1 if interval is 0 (=disabled) so we don't break
+ # the 'ceil' function
+ @interval = 1 if @interval == 0
@interval = interval
@nodes = nodes
@last = Time.now.utc
diff --git a/lib/oxidized/worker.rb b/lib/oxidized/worker.rb
index 324dcb5..48852ef 100644
--- a/lib/oxidized/worker.rb
+++ b/lib/oxidized/worker.rb
@@ -18,7 +18,9 @@ module Oxidized
# ask for next node in queue non destructive way
nextnode = @nodes.first
unless nextnode.last.nil?
- break if nextnode.last.end + Oxidized.config.interval > Time.now.utc
+ # Set unobtainable value for 'last' if interval checking is disabled
+ last = Oxidized.config.interval == 0 ? Time.now.utc + 10 : nextnode.last.end
+ break if last + Oxidized.config.interval > Time.now.utc
end
# shift nodes and get the next node
node = @nodes.get