summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bryant <m@ocado.com>2016-01-27 13:23:23 +0000
committerMike Bryant <m@ocado.com>2016-01-27 13:23:23 +0000
commit624bea144523777c1830f307ecfd218fc927caeb (patch)
treed6f8c7f1ea05ecbcc24d10c79c59a85f9f923150
parent3bacf05ab4a21c4f97c59b0fddce7191fa910959 (diff)
Use the ceiling instead of the floor when calculating the desired number of jobs
If the number of jobs is large enough, using the floor won't guarantee completion within the desired interval. Example: - interval: 3600 - average duration: 5 - number of nodes: 900 This gives 1.25 as the desired number of threads. Flooring it means that nodes will only be collected once every ~75 minutes. By using the ceiling and slightly over-estimating the desired interval is achieved
-rw-r--r--lib/oxidized/jobs.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/oxidized/jobs.rb b/lib/oxidized/jobs.rb
index ff7f92b..60a83f4 100644
--- a/lib/oxidized/jobs.rb
+++ b/lib/oxidized/jobs.rb
@@ -26,7 +26,7 @@ module Oxidized
end
def new_count
- @want = ((@nodes.size * @duration) / @interval).to_i
+ @want = ((@nodes.size * @duration) / @interval).ceil
@want = 1 if @want < 1
@want = @nodes.size if @want > @nodes.size
@want = @max if @want > @max