herdst_worker 0.2.15 → 0.2.16

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
  SHA256:
3
- metadata.gz: fcd03953e649cd8b334ecdc2ce8886adc7d96296eafef0039a9c8054cc4348b7
4
- data.tar.gz: f15295725ead0ec27ac81618c61638e6e8daaa88f666c58ae24aa85112e4508d
3
+ metadata.gz: c3bcca0fea942c15752e9a0c7f56f1b0d9a333d9fbe0fcef1cd4b722a0333f72
4
+ data.tar.gz: b9868c69103c6b4947b66fe801775c824a848ba0d4cb9ee8284b01593e593996
5
5
  SHA512:
6
- metadata.gz: 4180fe9da7ad0b299db0b2b0afa35898b8c0e09f8c6cccaac247e6caf6f0e1dd964465702c09c30be52eb55ebbc843c2fd5b4e526694284e38530199c33fed4e
7
- data.tar.gz: 62a6d442d0db01e9aeb871157465ff38412dd5f540607d78fc0ee517842af63da3561e952495d337750d7976f935322d45326a2d84ca6f6cf15ece938ccbebee
6
+ metadata.gz: e891b196b8418014c671b15fe48498ad7785820ea9dc99c3d1b1ca2a5ab693b822cd006f017b1c6221e747ca4b08eec163be7bc00644327024d3972509ca5302
7
+ data.tar.gz: 055ead61ea81ac0025d3e539ae69633031b3fd09b288476eb5f82d6be2eeca504c4d9af8ac81c1d6a51dd5bd01c717f35475844a1ca7d14f567fb10c99049136
@@ -1,3 +1,5 @@
1
+ require "concurrent-ruby"
2
+
1
3
  require_relative '../configuration/facade'
2
4
  require_relative '../log/facade'
3
5
  require_relative '../autoload/facade'
@@ -64,6 +66,15 @@ module HerdstWorker
64
66
  self.queue.start
65
67
  end
66
68
  end
69
+
70
+
71
+ def stop(exit_code = 0)
72
+ Concurrent::ScheduledTask.execute(5) do
73
+ self.logger.queue.warn "Application exiting (#{exit_code})"
74
+
75
+ exit(exit_code)
76
+ end
77
+ end
67
78
 
68
79
 
69
80
  def config_for(name)
@@ -9,7 +9,7 @@ module HerdstWorker
9
9
 
10
10
 
11
11
  attr_accessor :app, :enabled, :queue_url, :queue_wait_time, :poller
12
- attr_accessor :start_time, :restart_time
12
+ attr_accessor :start_time, :restart_time, :run_time
13
13
  attr_accessor :processor_status, :job_count, :max_jobs
14
14
  attr_accessor :attempt_threshold, :visibility_timeout, :ignored_notifications
15
15
 
@@ -29,6 +29,7 @@ module HerdstWorker
29
29
  ]
30
30
 
31
31
  # Set the start time
32
+ self.run_time = (3600 * 4) + (rand * 600).floor # Four hours + bit more (< 10 minutes)
32
33
  self.reset_time
33
34
 
34
35
  # Start the processor as working
@@ -138,8 +139,10 @@ module HerdstWorker
138
139
  end
139
140
 
140
141
  if self.processor_status == "stopped"
141
- self.app.logger.queue.warn "Exiting program, Service requested to stop"
142
- exit(0)
142
+ self.app.logger.queue.warn "Stopping polling, Service requested to stop"
143
+ self.app.stop(1)
144
+
145
+ raise :stop_polling
143
146
  end
144
147
  end
145
148
 
@@ -221,7 +224,7 @@ module HerdstWorker
221
224
  private
222
225
  def reset_time
223
226
  self.start_time = Time.now.utc.to_i
224
- self.restart_time = self.start_time + (3600 * 4) # Four hours
227
+ self.restart_time = self.start_time + self.run_time
225
228
  end
226
229
 
227
230
  end
@@ -1,3 +1,3 @@
1
1
  module HerdstWorker
2
- VERSION = '0.2.15'
2
+ VERSION = '0.2.16'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: herdst_worker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.15
4
+ version: 0.2.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Herd.St