zold 0.13.26 → 0.13.27

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a3823b82737ef5e72181701f0393152bc25e6d8f
4
- data.tar.gz: f42913694036d6bff27ca7e9ce82f9566bb273ec
3
+ metadata.gz: b851f65454b53cd8782cbbda1fe0b97c84da6027
4
+ data.tar.gz: d8fcbfd0bcfc07218581e1c1a7797b9148b5d5c4
5
5
  SHA512:
6
- metadata.gz: 39bdafc2be6cdbc2ae2e6feb18f609e5a73ef772da2a434e6cbef29c66d285186212452d085e981166f080d21348c713a888da8539ffde14b6cd44213b22b023
7
- data.tar.gz: 36b181ff6a81b6d342956e9bea2e20b356266b87fa176491193a7f5b16b5740dd5aab947125dbdd9911eeceea67349279ab0fb9702d3576b3c6e7c7bb87bce1e
6
+ metadata.gz: 9341ba2d4334516308603ebb35094225d3bf6f0293ae7342f30be7ca8b3e6f09297b9ff5b38bbe332feb6dcc294cace6d180ead94f1aa21429a4fd853e452592
7
+ data.tar.gz: 6b903ce60324a5e137fe6c3da557166db4ac7c88768d5e7f27246c9a771f87a4d7fb1bc834e06b902ffdce6a081f8b8af1df5204f2ad42f99f9f3e3fa89bb736
@@ -193,7 +193,7 @@ Available options:"
193
193
  (use --never-reboot to avoid this from happening)")
194
194
  terminate
195
195
  end
196
- @log.info("#{r}: their version #{json['version']} is higher than mine #{VERSION}, \
196
+ @log.debug("#{r}: their version #{json['version']} is higher than mine #{VERSION}, \
197
197
  it's recommended to reboot, but I don't do it because of --never-reboot")
198
198
  end
199
199
  if deep
@@ -115,13 +115,9 @@ module Zold
115
115
  def cleanup(host, port, strength, threads)
116
116
  scores = load
117
117
  before = scores.map(&:value).max.to_i
118
- if scores.empty? || !threads.zero? && scores.map(&:age).min > 24 * 60 * 60 / threads
119
- save([Score.new(Time.now, host, port, @invoice, strength: strength)])
120
- else
121
- save
122
- end
118
+ save(threads, [Score.new(Time.now, host, port, @invoice, strength: strength)])
123
119
  scores = load
124
- @pipeline << scores.min_by(&:age) if @pipeline.size.zero?
120
+ @pipeline << scores.max_by(&:age) if @pipeline.size.zero?
125
121
  after = scores.map(&:value).max.to_i
126
122
  @log.debug("#{Thread.current.name}: best score is #{scores[0]}") if before != after && !after.zero?
127
123
  end
@@ -133,12 +129,13 @@ module Zold
133
129
  return unless s.port == port
134
130
  return unless s.strength >= strength
135
131
  Thread.current.name = s.to_mnemo
136
- save([s.next])
132
+ save(threads, [s.next])
137
133
  cleanup(host, port, strength, threads)
138
134
  end
139
135
 
140
- def save(list = [])
136
+ def save(threads, list = [])
141
137
  scores = load + list
138
+ period = 24 * 60 * 60 / [threads, 1].max
142
139
  @mutex.synchronize do
143
140
  AtomicFile.new(@cache).write(
144
141
  scores.select(&:valid?)
@@ -146,6 +143,7 @@ module Zold
146
143
  .sort_by(&:value)
147
144
  .reverse
148
145
  .uniq(&:time)
146
+ .uniq { |s| s.age % period }
149
147
  .map(&:to_s)
150
148
  .uniq
151
149
  .join("\n")
@@ -23,5 +23,5 @@
23
23
  # Copyright:: Copyright (c) 2018 Yegor Bugayenko
24
24
  # License:: MIT
25
25
  module Zold
26
- VERSION = '0.13.26'.freeze
26
+ VERSION = '0.13.27'.freeze
27
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zold
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.26
4
+ version: 0.13.27
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-16 00:00:00.000000000 Z
11
+ date: 2018-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby