errands 0.0.4 → 0.0.5

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: 473c7310d32f74aee9719896ed956412a8ae3247
4
- data.tar.gz: b68566f3137eb160ef004bf8f682286537fadad0
3
+ metadata.gz: 3a86b7049a20004465fe6b49298caa77ff92234e
4
+ data.tar.gz: fe65b0617f9b4455273850c18e3fd5932c2bd844
5
5
  SHA512:
6
- metadata.gz: 414967499e0047573ce69e4bdde2b404b7b7e45190b302f2f0d29b069461315be7d5073de6032cb55af122896f19b0c4e2e2663946a1a64663e2fce9852236dd
7
- data.tar.gz: 6dc1332401a9cbc3e56e44162551a9d8b110d6d735919ffc06aa5c74e563b30830416b214bf5481a955410096cbc9dddccdcc5bd381039de47ff19028a4f4724
6
+ metadata.gz: 344f744aca9b7ec2682e45a94191e772ca7b8f48699c311a6ae0933f3e49a96067f48e733a977091971a0227a32dd5e1352679a35e706b5f324b79d846feef5e
7
+ data.tar.gz: fc3a8bab0ac4618e6221453711c4b8226595b3162893dca957cca199fe4add2691d10ab12920c79ffc821013b49bd1d64bb141e579f06ed44a65f3183fa84afa
@@ -201,7 +201,7 @@ module Errands
201
201
  end
202
202
 
203
203
  def starting(started)
204
- puts ["Starting #{self.class} with :", our[:config], "workers : #{started}", "\n"].join("\n") unless our[:quiet]
204
+ log_activity ["Starting #{self.class} in #{$0} (#{$$}), at #{Time.now}, with :", our[:config], "workers : #{started}", "\n"].join("\n")
205
205
 
206
206
  running thread_name, loop: true, started: started, type: :starter do
207
207
  Array(my[:started]).uniq.each { |s| threads[s] ||= send *(respond_to?(s, true) ? [s] : [:working, s]) }
@@ -252,7 +252,7 @@ module Errands
252
252
 
253
253
  def stopped?
254
254
  our[:stopped] = threads.key_sliced(stopped_threads).alive.empty?.tap { |bool|
255
- log_activity Time.now, "All activities stopped" if bool
255
+ log_activity Time.now, "#{self.class} #{name rescue nil} : All activities stopped" if bool
256
256
  }
257
257
  end
258
258
 
@@ -271,7 +271,7 @@ module Errands
271
271
  (e = events.shift) ? errands(*e) : sleep(frequency(:main_loop) || 1)
272
272
  end
273
273
 
274
- log_activity Time.now, "Exiting main loop"
274
+ log_activity Time.now, "#{self.class} #{name rescue nil} : Exiting main loop"
275
275
  end
276
276
 
277
277
  def ready_receptor!(processing)
@@ -299,7 +299,7 @@ module Errands
299
299
  else
300
300
  threads[name] = Thread.new {
301
301
  (my && my[:name] && (my[:named] = true)) || Thread.stop || (my[:named] = true)
302
- r = my[:result] = my[:loop] ? rescued_loop(&block) : rescued_execution(&block)
302
+ r = my[:result] = rescued_execution &block
303
303
  ["stop_#{name}", our[name] && "stop_#{his(our[name])[:type]}"].compact.each { |s| checked_send s }
304
304
  my[:deletable] && threads.delete(name)
305
305
  r
@@ -325,22 +325,28 @@ module Errands
325
325
  }.to_sym
326
326
  end
327
327
 
328
- def rescued_loop
329
- loop { our["#{my[:name]}_iteration".to_sym] = begin
330
- my[:stop] ? break : yield; Time.now
331
- rescue => e
332
- log_error e, my[:data], my
333
- end }
334
- end
335
-
336
328
  def rescued_execution
337
- our["#{my[:name]}_iteration".to_sym] = begin
338
- yield; Time.now
339
- rescue => e
340
- log_error e, my[:data], my
329
+ loop do
330
+ our["#{my[:name]}_iteration".to_sym] = begin
331
+ my[:stop] ? break : yield; Time.now
332
+ rescue => e
333
+ my[:logged] = Time.now.to_f
334
+ log_error e, my[:data], my
335
+ rescue Exception => e
336
+ my[:logged] = Time.now.to_f
337
+ log_error e, my[:data], my
338
+ raise e
339
+ end
340
+
341
+ my[:loop] || break
341
342
  end
342
343
  end
343
344
 
345
+ def rescued_loop(&block)
346
+ my[:loop] = true
347
+ rescued_execution &block
348
+ end
349
+
344
350
  def checked_send(meth, recipient = self, *_)
345
351
  recipient.respond_to?(meth, true) && (recipient.send(meth, *_) rescue nil)
346
352
  end
@@ -356,6 +362,8 @@ module Errands
356
362
  end
357
363
 
358
364
  def log_activity(*_)
365
+ return unless our[:quiet]
366
+
359
367
  message = _.map(&:to_s).join(" ")
360
368
  # message = activity if message.empty?
361
369
  puts message
@@ -1,3 +1,3 @@
1
1
  module Errands
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: errands
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - lacravate
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-30 00:00:00.000000000 Z
11
+ date: 2018-08-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec