zold 0.13.7 → 0.13.8

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: 3e739b47324ac118b8eb59d9bf5c90610e2274c8
4
- data.tar.gz: 6ea8f217be6a85e3307adb65fa0fc292bfb5b675
3
+ metadata.gz: ca8d9779feac251be60e6ad213446a7c0016eca8
4
+ data.tar.gz: 63fa88832cfa2554f9e95bd7f5582ae4498de9ee
5
5
  SHA512:
6
- metadata.gz: 6f9074db9ca835ecc98a97e4159771d2f4fbcf82721fc2c8ef0ade250bb8dd318e757722bd8bdcab67803e96e54e4fd6da26f52b3cd714d5bed30618a90600f6
7
- data.tar.gz: 3fa763aca8898d28669a68ec01115fffb9a07e5e9d657c0c29861208948ad4eaecb87493df446d4407805443e7c4fb171a24da741174eaaa6d3f968797fdd8e7
6
+ metadata.gz: ba1d0ad4977db4f9c96e42b992bc9edffab0bfc15931031b75d1b1d644befd00d42ecd6a49d4a1ea68d51c18ff2c6b352b81d0b0ab315a9916d85c4835fe65ed
7
+ data.tar.gz: e2bd3858fe693acd7c9c4e55733c0e6ece03ef2f843793d4e9a8db2946ea7389e96968fd8d7225b5b51055e1c76dcbceaeadc340506a45504f68261f10eacec5
data/heroku.yml CHANGED
@@ -4,7 +4,7 @@ build:
4
4
  config:
5
5
  LC_ALL: UTF-8
6
6
  run:
7
- web: "./bin/zold node --no-colors --trace --verbose
7
+ web: "./bin/zold node --no-colors --trace
8
8
  --bind-port=$PORT --port=80 --host=b1.zold.io --threads=0
9
9
  --invoice=ML5Ern7m@912ecc24b32dbe74 --never-reboot
10
10
  --bonus-wallet=81c9c25789b03876 --private-key=bonus.key --bonus-amount=1"
@@ -35,16 +35,16 @@ module Zold
35
35
 
36
36
  def add(routine)
37
37
  @threads << Thread.start do
38
- VerboseThread.new(@log).run(true) do
39
- Thread.current.name = routine.class.name
40
- step = 0
41
- loop do
42
- start = Time.now
38
+ Thread.current.name = routine.class.name
39
+ step = 0
40
+ loop do
41
+ start = Time.now
42
+ VerboseThread.new(@log).run(true) do
43
43
  routine.exec(step)
44
- sleep(1)
45
- step += 1
46
- @log.debug("Routine #{routine.class.name} ##{step} done in #{((Time.now - start) / 60).round(2)}s")
47
44
  end
45
+ sleep(1)
46
+ step += 1
47
+ @log.debug("Routine #{routine.class.name} ##{step} done in #{((Time.now - start) / 60).round(2)}s")
48
48
  end
49
49
  end
50
50
  @log.info("Added #{routine.class.name} to the metronome")
data/lib/zold/version.rb CHANGED
@@ -23,5 +23,5 @@
23
23
  # Copyright:: Copyright (c) 2018 Yegor Bugayenko
24
24
  # License:: MIT
25
25
  module Zold
26
- VERSION = '0.13.7'.freeze
26
+ VERSION = '0.13.8'.freeze
27
27
  end
@@ -28,14 +28,23 @@ require_relative '../lib/zold/metronome'
28
28
  # License:: MIT
29
29
  class TestMetronome < Minitest::Test
30
30
  def test_start_and_stop
31
- routines = Zold::Metronome.new(test_log)
31
+ metronome = Zold::Metronome.new(test_log)
32
32
  list = []
33
- routines.add(FakeRoutine.new(list))
33
+ metronome.add(FakeRoutine.new(list))
34
34
  sleep 0.1 while list.empty?
35
- routines.stop
35
+ metronome.stop
36
36
  assert_equal(1, list.count)
37
37
  end
38
38
 
39
+ def test_continues_even_after_error
40
+ metronome = Zold::Metronome.new(test_log)
41
+ routine = BrokenRoutine.new
42
+ metronome.add(routine)
43
+ sleep 0.1 while routine.count < 2
44
+ metronome.stop
45
+ assert(routine.count > 1)
46
+ end
47
+
39
48
  class FakeRoutine
40
49
  def initialize(list)
41
50
  @list = list
@@ -46,4 +55,16 @@ class TestMetronome < Minitest::Test
46
55
  sleep(6000)
47
56
  end
48
57
  end
58
+
59
+ class BrokenRoutine
60
+ attr_reader :count
61
+ def initialize
62
+ @count = 0
63
+ end
64
+
65
+ def exec(i)
66
+ @count = i
67
+ raise
68
+ end
69
+ end
49
70
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zold
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.7
4
+ version: 0.13.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko