errands 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
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