libis-workflow 2.0.37 → 2.1.4

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: d248c18f7b5ec05c2a28bd7121a31d6c9f3f00c73a4e688c7fe00b4fdf12dde8
4
- data.tar.gz: cfd5c563241f5a7bf2a76c287f7411ef1b81e720fa29886594e39d8f66a195dc
3
+ metadata.gz: 584b8e1d60eca39c3f050334e697a01c9385466ee97e135e2f424f6b80e49b99
4
+ data.tar.gz: 7c105c4a9685e0c12acf6ddeb6bd876e702b4b6638f50c43c593e3b74f5af492
5
5
  SHA512:
6
- metadata.gz: 1103e4fdff7de541a410c065605c220fd9890a7e4b17cb38ea965f1bf3246d415f99c70f67a18ed604e9ad2a009c47a5d252edce46f5114d91057d4e2a1d771f
7
- data.tar.gz: 0a30fa5acc5df9709ab742b5331e7a597b189ee563a0c08f12e072b72c6c748c85877d66f868554d6cc80c0ad5e23b1d663f0135e0fe184fd1b16be9a47fb93a
6
+ metadata.gz: 90995692a972340ef2363ccf4b74c16a8bea56b19ae8ee2ee9e9efa011e4f1b65613070d0c2186946d8f82b61a00ece8ad2a65219fa1e7e129a2bec2ddb3b4ec
7
+ data.tar.gz: 967aaff3c1178c2913bc8e97a82e2bbd4a94759dcac5812999adda01d3d6b4af9a20bb51c4276490818cb097326a244a773476fc91e6bf97f6f17134c1d41c60
data/.travis.yml CHANGED
@@ -3,34 +3,39 @@ sudo: false
3
3
  bundler_args: --without development
4
4
  cache: bundler
5
5
  rvm:
6
- - 2.3.0
7
- - 2.4.1
8
- - 2.5.0
6
+ - 2.3
7
+ - 2.4
8
+ - 2.5
9
+ - 2.6
9
10
  - ruby-head
10
- - jruby-9.1.9.0
11
+ - jruby-9.1
11
12
  - jruby-head
12
13
  jdk:
13
14
  - openjdk8
14
- - oraclejdk8
15
- - oraclejdk9
15
+ - openjdk10
16
+ - openjdk11
16
17
  matrix:
17
18
  exclude:
18
- - rvm: 2.3.0
19
- jdk: oraclejdk8
20
- - rvm: 2.3.0
21
- jdk: oraclejdk9
22
- - rvm: 2.4.1
23
- jdk: oraclejdk8
24
- - rvm: 2.4.1
25
- jdk: oraclejdk9
26
- - rvm: 2.5.0
27
- jdk: oraclejdk8
28
- - rvm: 2.5.0
29
- jdk: oraclejdk9
19
+ - rvm: 2.3
20
+ jdk: openjdk10
21
+ - rvm: 2.3
22
+ jdk: openjdk11
23
+ - rvm: 2.4
24
+ jdk: openjdk10
25
+ - rvm: 2.4
26
+ jdk: openjdk11
27
+ - rvm: 2.5
28
+ jdk: openjdk10
29
+ - rvm: 2.5
30
+ jdk: openjdk11
31
+ - rvm: 2.6
32
+ jdk: openjdk10
33
+ - rvm: 2.6
34
+ jdk: openjdk11
30
35
  - rvm: ruby-head
31
- jdk: oraclejdk8
36
+ jdk: openjdk10
32
37
  - rvm: ruby-head
33
- jdk: oraclejdk9
38
+ jdk: openjdk11
34
39
  allow_failures:
35
40
  - rvm: ruby-head
36
41
  - rvm: jruby-head
@@ -31,8 +31,6 @@ module Libis
31
31
  autoload :TaskGroup, 'libis/workflow/task_group'
32
32
  autoload :TaskRunner, 'libis/workflow/task_runner'
33
33
 
34
- autoload :Worker, 'libis/workflow/worker'
35
-
36
34
  def self.configure
37
35
  yield Config.instance
38
36
  end
@@ -1,6 +1,7 @@
1
1
  require 'digest'
2
2
 
3
3
  require 'libis/workflow/base/work_item'
4
+ require 'libis/tools/checksum'
4
5
 
5
6
  module Libis
6
7
  module Workflow
@@ -40,7 +41,7 @@ module Libis
40
41
  self.properties['mode'] = stats.mode
41
42
  self.properties['uid'] = stats.uid
42
43
  self.properties['gid'] = stats.gid
43
- set_checksum(:MD5, ::Digest::MD5.hexdigest(File.read(name))) if File.file?(name)
44
+ set_checksum(:MD5, ::Libis::Tools::Checksum.hexdigest(name, :MD5)) if File.file?(name)
44
45
  rescue => _e
45
46
  # ignored
46
47
  end
@@ -1,4 +1,3 @@
1
- require 'backports/rails/hash'
2
1
  require 'libis/tools/extend/hash'
3
2
 
4
3
  require 'libis/workflow/config'
@@ -89,7 +89,9 @@ module Libis
89
89
  # @param [Integer] max max count.
90
90
  def status_progress(task, progress = nil, max = nil)
91
91
  log_entry = self.status_entry(task)
92
- log_entry ||= self.add_status_log('task' => task, 'status' => :STARTED, 'created' => DateTime.now)
92
+ if log_entry.nil? || STATUS[status_symbol(log_entry['status'])] >= STATUS[:DONE]
93
+ log_entry = self.add_status_log('task' => task, 'status' => :STARTED, 'created' => DateTime.now)
94
+ end
93
95
  log_entry['progress'] = progress ? progress : (log_entry['progress'] || 0) + 1
94
96
  log_entry['max'] = max if max
95
97
  log_entry['updated'] = DateTime.now
@@ -1,8 +1,6 @@
1
- require 'backports/rails/hash'
2
- require 'backports/rails/string'
3
-
4
1
  require 'libis/tools/parameter'
5
2
  require 'libis/tools/extend/hash'
3
+ require 'libis/tools/extend/string'
6
4
  require 'libis/tools/logger'
7
5
 
8
6
  require 'libis/workflow'
@@ -97,7 +95,7 @@ module Libis
97
95
  set_status item, :FAILED
98
96
  raise e if parent
99
97
 
100
- rescue => e
98
+ rescue Exception => e
101
99
  set_status item, :FAILED
102
100
  fatal_error "Exception occured: #{e.message}", item
103
101
  debug e.backtrace.join("\n")
@@ -215,9 +213,9 @@ module Libis
215
213
  item.set_status(namepath, :FAILED)
216
214
  break
217
215
 
218
- rescue => e
216
+ rescue Exception => e
219
217
  item.set_status(namepath, :FAILED)
220
- raise Libis::WorkflowAbort, e.message
218
+ raise Libis::WorkflowAbort, "#{e.message} @ #{e.backtrace.first}"
221
219
 
222
220
  else
223
221
  item = new_item if new_item.is_a?(Libis::Workflow::WorkItem)
@@ -1,5 +1,5 @@
1
1
  module Libis
2
2
  module Workflow
3
- VERSION = '2.0.37' unless const_defined? :VERSION # the guard is against a redefinition warning that happens on Travis
3
+ VERSION = '2.1.4' unless const_defined? :VERSION # the guard is against a redefinition warning that happens on Travis
4
4
  end
5
5
  end
@@ -27,14 +27,11 @@ Gem::Specification.new do |spec|
27
27
 
28
28
  spec.require_paths = ['lib']
29
29
 
30
- spec.add_development_dependency 'bundler', '~> 1.6'
31
30
  spec.add_development_dependency 'rake', '~> 10.3'
32
31
  spec.add_development_dependency 'rspec', '~> 3.1'
33
32
  spec.add_development_dependency 'simplecov', '~> 0.9'
34
33
  spec.add_development_dependency 'coveralls', '~> 0.7'
35
34
  spec.add_development_dependency 'awesome_print'
36
35
 
37
- spec.add_runtime_dependency 'libis-tools', '~> 0.9'
38
- spec.add_runtime_dependency 'sidekiq', '~> 4.0'
39
- spec.add_runtime_dependency 'eldritch', '~> 1.1'
36
+ spec.add_runtime_dependency 'libis-tools', '~> 1.0'
40
37
  end
@@ -1,4 +1,4 @@
1
- require 'backports/rails/string'
1
+ require 'libis/tools/extend/string'
2
2
 
3
3
  require 'libis/workflow'
4
4
 
@@ -10,8 +10,8 @@ def check_output(logoutput, sample_out)
10
10
  sample_out = sample_out.lines.to_a.map {|x| x.strip}
11
11
  output = logoutput.string.lines.to_a.map {|x| x[/(?<=\] ).*/].strip}
12
12
 
13
- puts 'output:'
14
- ap output
13
+ # puts 'output:'
14
+ # ap output
15
15
 
16
16
  expect(output.size).to eq sample_out.size
17
17
  output.each_with_index do |o, i|
@@ -20,8 +20,8 @@ def check_output(logoutput, sample_out)
20
20
  end
21
21
 
22
22
  def check_status_log(status_log, sample_status_log)
23
- puts 'status_log:'
24
- status_log.each { |e| ap e }
23
+ # puts 'status_log:'
24
+ # status_log.each { |e| ap e }
25
25
  expect(status_log.size).to eq sample_status_log.size
26
26
  sample_status_log.each_with_index do |h, i|
27
27
  h.keys.each {|key| expect(status_log[i][key.to_s]).to eq h[key]}
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libis-workflow
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.37
4
+ version: 2.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kris Dekeyser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-23 00:00:00.000000000 Z
11
+ date: 2021-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.6'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.6'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: rake
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -100,42 +86,14 @@ dependencies:
100
86
  requirements:
101
87
  - - "~>"
102
88
  - !ruby/object:Gem::Version
103
- version: '0.9'
104
- type: :runtime
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '0.9'
111
- - !ruby/object:Gem::Dependency
112
- name: sidekiq
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '4.0'
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '4.0'
125
- - !ruby/object:Gem::Dependency
126
- name: eldritch
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: '1.1'
89
+ version: '1.0'
132
90
  type: :runtime
133
91
  prerelease: false
134
92
  version_requirements: !ruby/object:Gem::Requirement
135
93
  requirements:
136
94
  - - "~>"
137
95
  - !ruby/object:Gem::Version
138
- version: '1.1'
96
+ version: '1.0'
139
97
  description: A simple framework to build custom task/workflow solutions.
140
98
  email: kris.dekeyser@libis.be
141
99
  executables: []
@@ -172,7 +130,6 @@ files:
172
130
  - lib/libis/workflow/task_runner.rb
173
131
  - lib/libis/workflow/version.rb
174
132
  - lib/libis/workflow/work_item.rb
175
- - lib/libis/workflow/worker.rb
176
133
  - lib/libis/workflow/workflow.rb
177
134
  - libis-workflow.gemspec
178
135
  - spec/items.rb
@@ -207,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
207
164
  version: '0'
208
165
  requirements: []
209
166
  rubyforge_project:
210
- rubygems_version: 2.7.6
167
+ rubygems_version: 2.7.8
211
168
  signing_key:
212
169
  specification_version: 4
213
170
  summary: LIBIS Workflow framework.
@@ -1,42 +0,0 @@
1
- require 'sidekiq'
2
-
3
- require 'libis/tools/extend/hash'
4
- require 'libis/workflow/config'
5
- require 'libis/workflow/workflow'
6
-
7
- module Libis
8
- module Workflow
9
-
10
- class Worker
11
- include Sidekiq::Worker
12
-
13
- def perform(job_config, options = {})
14
- job = configure(job_config, options)
15
- options[:interactive] = false
16
- job.execute options
17
- end
18
-
19
- def configure(job_config, options = {})
20
- log_path = options.delete :log_path
21
- if log_path
22
- Libis::Workflow::Config.logger = ::Logger.new(
23
- File.join(log_path, "#{job_config[:name]}.log"),
24
- (options.delete(:log_shift_age) || 'daily'),
25
- (options.delete(:log_shift_size) || 1024 ** 2)
26
- )
27
- Libis::Workflow::Config.logger.formatter = ::Logger::Formatter.new
28
- Libis::Workflow::Config.logger.level = (options.delete(:log_level) || ::Logger::DEBUG)
29
- end
30
- get_job(job_config)
31
- end
32
-
33
- def get_job(job_config)
34
- job = ::Libis::Workflow::Job.new
35
- job.configure job_config.key_symbols_to_strings(recursive: true)
36
- job
37
- end
38
-
39
- end
40
-
41
- end
42
- end