zold 0.13.26 → 0.13.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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