dynflow 0.8.22 → 0.8.23

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: 2dca125fdba138da52e0ffaff7b17a979945be2b
4
- data.tar.gz: de40a2fcd90aa602ba2db2cc12e28bfc435c750c
3
+ metadata.gz: 877042adab09ea7aeb07b0459738b0016e06998c
4
+ data.tar.gz: b2ffef502d8ab247e104ccb54b110ba84252e3c3
5
5
  SHA512:
6
- metadata.gz: 760ace645251b0b91e0454c2794b4546a93504f542fb2f07452fe76eaed1e75326d1aeabcc9394391b12a410064a08e35413a813f88f9acf0ffcef3227309369
7
- data.tar.gz: 4b69a6c1590bfff3c96b04dc5da8c76119680482375f8341331984b3a8deb1bdbc08a06b194f56bacc28fc323a6a55a7e8ff6f0d60b0edc7121ae29f101fa4ab
6
+ metadata.gz: 06dd15b53061f0db20c3c488948d50a6e265fec7fdf99707d934f6a7c0efe856d96c1b6e7829ea0469f9d8cefa6abfc2734545e3b0ab880e0ad493e492518aa2
7
+ data.tar.gz: 410f852667748f00077feae8b7f066fca50478c7d481db1d75542bd2c260406b2277c807f18a41c4de7c7228bd111c71d0161bb1f6d857fee29d1506bbefbfc8
@@ -43,13 +43,13 @@ module Dynflow
43
43
 
44
44
  def start_termination(*args)
45
45
  super
46
- logger.info 'shutting down Core ...'
46
+ logger.info 'shutting down Dynflow Core ...'
47
47
  @pool.tell([:start_termination, Concurrent.future])
48
48
  end
49
49
 
50
50
  def finish_termination
51
51
  @director.terminate
52
- logger.error '... core terminated.'
52
+ logger.error '... Dynflow Core has shut down.'
53
53
  super
54
54
  end
55
55
 
@@ -1,3 +1,3 @@
1
1
  module Dynflow
2
- VERSION = '0.8.22'
2
+ VERSION = '0.8.23'
3
3
  end
@@ -11,14 +11,19 @@ module Dynflow
11
11
  @world = world
12
12
  @polling_interval = options[:polling_interval] || 60
13
13
  @memory_info_provider = options[:memory_info_provider] || GetProcessMem.new
14
+ @memory_checked_callback = options[:memory_checked_callback]
15
+ @memory_limit_exceeded_callback = options[:memory_limit_exceeded_callback]
14
16
  set_timer options[:initial_wait] || @polling_interval
15
17
  end
16
18
 
17
19
  def check_memory_state
18
- if @memory_info_provider.bytes > @memory_limit
20
+ current_memory = @memory_info_provider.bytes
21
+ if current_memory > @memory_limit
22
+ @memory_limit_exceeded_callback.call(current_memory, @memory_limit) if @memory_limit_exceeded_callback
19
23
  # terminate the world and stop polling
20
24
  world.terminate
21
25
  else
26
+ @memory_checked_callback.call(current_memory, @memory_limit) if @memory_checked_callback
22
27
  # memory is under the limit - keep waiting
23
28
  set_timer
24
29
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynflow
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.22
4
+ version: 0.8.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Necas
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-03-19 00:00:00.000000000 Z
12
+ date: 2017-03-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: multi_json