diff options
author | Mike Bryant <m@ocado.com> | 2016-01-27 14:46:58 +0000 |
---|---|---|
committer | Mike Bryant <m@ocado.com> | 2016-01-27 14:46:58 +0000 |
commit | 071ba09110fccd845995a9eecdf35e544662daf1 (patch) | |
tree | 74d414aaf24073f95d9dd36a547ad0b40805c7b4 /lib/oxidized/nodes.rb | |
parent | 8cef62390cdfbff723e2d6b99fd92157406e17d5 (diff) |
Sort the nodes by last update on reload
Reloading sets the node queue to the original order. If Oxidized was restarted,
collected a couple of nodes, and was then reloaded, the new queue would have a node
with a recent last end time.
Thus, no new nodes would be collected until the first one passed its interval.
Here the nodes are sorted on reload, to maintain the queue invariant.
Diffstat (limited to 'lib/oxidized/nodes.rb')
-rw-r--r-- | lib/oxidized/nodes.rb | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/oxidized/nodes.rb b/lib/oxidized/nodes.rb index 0c02d7a..61d2d44 100644 --- a/lib/oxidized/nodes.rb +++ b/lib/oxidized/nodes.rb @@ -147,6 +147,7 @@ module Oxidized rescue Oxidized::NodeNotFound end end + sort_by! { |x| x.last.nil? ? Time.new(0) : x.last.end } end public |