zold 0.16.10 → 0.16.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/zold/node/farmers.rb +12 -1
- data/lib/zold/node/front.rb +23 -6
- data/lib/zold/version.rb +1 -1
- data/test/commands/test_clean.rb +6 -0
- data/test/node/test_front.rb +2 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7821595a3b9487ea3138bbee7e70a4f6b960004d7e91a08147f5760a3bd6125c
|
4
|
+
data.tar.gz: 37450f49b0f2d5e47ba9476ac83d14667eac4cf6b5b65fc10dd142fb8584b6ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d09fdf2081fb1494a1e06b1b28ba8644b5cf4bf7197a6501811dd1f918ca5c7ac5979d1abc6f3b33fd80043922875a87ffe49f51a96c289ed27a2619aef8a6c
|
7
|
+
data.tar.gz: 53b7bb8a8ded97904c9182f4bcc073b85d22b4b3b1cf1b878111a26c07d5c674880d8890e32bc398a1fb4262471b313d1f6b3ce9b644035d0f65a599b5641a3e
|
data/lib/zold/node/farmers.rb
CHANGED
@@ -23,6 +23,7 @@
|
|
23
23
|
require 'open3'
|
24
24
|
require 'backtrace'
|
25
25
|
require 'zold/score'
|
26
|
+
require 'shellwords'
|
26
27
|
require_relative '../log'
|
27
28
|
require_relative '../age'
|
28
29
|
|
@@ -50,7 +51,17 @@ module Zold
|
|
50
51
|
start = Time.now
|
51
52
|
bin = File.expand_path(File.join(File.dirname(__FILE__), '../../../bin/zold'))
|
52
53
|
raise "Zold binary not found at #{bin}" unless File.exist?(bin)
|
53
|
-
|
54
|
+
cmd = [
|
55
|
+
'ruby',
|
56
|
+
Shellwords.escape(bin),
|
57
|
+
'--skip-upgrades',
|
58
|
+
Shellwords.escape("--info-thread=#{Thread.current.name}"),
|
59
|
+
Shellwords.escape("--info-start=#{Time.now.utc.iso8601}"),
|
60
|
+
'--low-priority',
|
61
|
+
'next',
|
62
|
+
Shellwords.escape(score)
|
63
|
+
].join(' ')
|
64
|
+
Open3.popen2e(cmd) do |stdin, stdout, thr|
|
54
65
|
Thread.current.thread_variable_set(:pid, thr.pid.to_s)
|
55
66
|
@log.debug("Scoring started in proc ##{thr.pid} \
|
56
67
|
for #{score.value}/#{score.strength} at #{score.host}:#{score.port}")
|
data/lib/zold/node/front.rb
CHANGED
@@ -26,9 +26,6 @@ require 'eventmachine'
|
|
26
26
|
require 'thin'
|
27
27
|
require 'json'
|
28
28
|
require 'sinatra/base'
|
29
|
-
require 'get_process_mem'
|
30
|
-
require 'diffy'
|
31
|
-
require 'usagewatch_ext'
|
32
29
|
require 'concurrent'
|
33
30
|
require 'backtrace'
|
34
31
|
require 'zache'
|
@@ -188,10 +185,19 @@ in #{Age.new(@start, limit: 1)}")
|
|
188
185
|
protocol: settings.protocol,
|
189
186
|
score: score.to_h,
|
190
187
|
pid: Process.pid,
|
191
|
-
|
192
|
-
|
188
|
+
processes: processes_count,
|
189
|
+
cpus: settings.zache.get(:cpus) do
|
190
|
+
Concurrent.processor_count
|
191
|
+
end,
|
192
|
+
memory: settings.zache.get(:load, lifetime: 5 * 60) do
|
193
|
+
require 'get_process_mem'
|
194
|
+
GetProcessMem.new.bytes.to_i
|
195
|
+
end,
|
193
196
|
platform: RUBY_PLATFORM,
|
194
|
-
load: settings.zache.get(:load, lifetime: 5 * 60)
|
197
|
+
load: settings.zache.get(:load, lifetime: 5 * 60) do
|
198
|
+
require 'usagewatch_ext'
|
199
|
+
Usagewatch.uw_load.to_f
|
200
|
+
end,
|
195
201
|
threads: "#{Thread.list.select { |t| t.status == 'run' }.count}/#{Thread.list.count}",
|
196
202
|
wallets: total_wallets,
|
197
203
|
remotes: all_remotes.count,
|
@@ -397,6 +403,11 @@ in #{Age.new(@start, limit: 1)}")
|
|
397
403
|
].flatten.join("\n\n")
|
398
404
|
end
|
399
405
|
|
406
|
+
get '/ps' do
|
407
|
+
content_type('text/plain')
|
408
|
+
`ps ax`
|
409
|
+
end
|
410
|
+
|
400
411
|
not_found do
|
401
412
|
status(404)
|
402
413
|
content_type('text/plain')
|
@@ -442,6 +453,12 @@ in #{Age.new(@start, limit: 1)}")
|
|
442
453
|
end
|
443
454
|
end
|
444
455
|
|
456
|
+
def processes_count
|
457
|
+
settings.zache.get(:processes, lifetime: settings.network == Wallet::MAIN_NETWORK ? 60 : 0) do
|
458
|
+
`ps ax | grep zold | wc -l`
|
459
|
+
end
|
460
|
+
end
|
461
|
+
|
445
462
|
def score
|
446
463
|
settings.zache.get(:score, lifetime: settings.network == Wallet::MAIN_NETWORK ? 60 : 0) do
|
447
464
|
b = settings.farm.best
|
data/lib/zold/version.rb
CHANGED
data/test/commands/test_clean.rb
CHANGED
@@ -44,6 +44,12 @@ class TestClean < Minitest::Test
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
+
def test_cleans_empty_wallets
|
48
|
+
FakeHome.new(log: test_log).run do |home|
|
49
|
+
Zold::Clean.new(wallets: home.wallets, copies: File.join(home.dir, 'c'), log: test_log).run(['clean'])
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
47
53
|
def test_cleans_copies_in_threads
|
48
54
|
FakeHome.new(log: test_log).run do |home|
|
49
55
|
wallet = home.create_wallet
|
data/test/node/test_front.rb
CHANGED