diff options
author | ytti <saku@ytti.fi> | 2016-05-27 14:35:19 +0300 |
---|---|---|
committer | ytti <saku@ytti.fi> | 2016-05-27 14:35:19 +0300 |
commit | 7da4179dd3e9fd298c190a5c856fb16114a1e0d3 (patch) | |
tree | 95300d76a406589cb462d3ae245c3681524292c0 /lib/oxidized | |
parent | f16660a2113321c4f0a1a5eaa7ef51048d25fa7c (diff) | |
parent | 2d8e9087fa7ca25fcb46eb8b9e20a7ddf0293ec1 (diff) |
Merge pull request #448 from wiad/issue-433
Added feature to disable polling based on interval
Diffstat (limited to 'lib/oxidized')
-rw-r--r-- | lib/oxidized/jobs.rb | 4 | ||||
-rw-r--r-- | lib/oxidized/worker.rb | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/lib/oxidized/jobs.rb b/lib/oxidized/jobs.rb index 2c656f6..c566778 100644 --- a/lib/oxidized/jobs.rb +++ b/lib/oxidized/jobs.rb @@ -6,7 +6,9 @@ module Oxidized def initialize max, interval, nodes @max = max - @interval = interval + # Set interval to 1 if interval is 0 (=disabled) so we don't break + # the 'ceil' function + @interval = interval == 0 ? 1 : interval @nodes = nodes @last = Time.now.utc @durations = Array.new @nodes.size, AVERAGE_DURATION 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 |