lyber-core 5.0.1 → 5.1.0
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 +4 -4
- data/README.md +3 -1
- data/lib/lyber-core.rb +2 -0
- data/lib/lyber_core.rb +2 -0
- data/lib/lyber_core/log.rb +3 -1
- data/lib/lyber_core/return_state.rb +4 -1
- data/lib/lyber_core/robot.rb +7 -4
- data/lib/tasks/rdoc.rake +2 -0
- metadata +25 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d156c9fe696a673d0bb1cea7e86b41975a4cca98e1649a3cdea5daa54a8781c
|
4
|
+
data.tar.gz: 705b162c8a6dc5599ad536a6264cb20222bf8570e2284645b16c47e3b348fdc4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d8d2c39856794c200f6da4b1504ef036f044a4ed070bb7ed8bf9a4598ea8d3a2a9d0998463664eba9099f2e9703238dede98b7d78416eb5932eca650bb85d083
|
7
|
+
data.tar.gz: a17cf339a031bc7aa18873706bcf67eddd97efaf62a74fdb4b39d91c35bcf8ab985d5b650a68519147d95ae22f0c13ea1af2cf3b0b9eddc291e797c591e305cc
|
data/README.md
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
[](https://travis-ci.org/sul-dlss/lyber-core)
|
1
|
+
[](https://travis-ci.org/sul-dlss/lyber-core)
|
2
|
+
[](https://coveralls.io/github/sul-dlss/lyber-core?branch=master)
|
3
|
+
[](https://badge.fury.io/rb/lyber-core)
|
2
4
|
|
3
5
|
# lyber_core
|
4
6
|
|
data/lib/lyber-core.rb
CHANGED
data/lib/lyber_core.rb
CHANGED
data/lib/lyber_core/log.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module LyberCore
|
2
4
|
class LyberCore::Log
|
3
5
|
require 'logger'
|
4
6
|
|
5
7
|
# Default values
|
6
|
-
DEFAULT_LOGFILE = '/tmp/lybercore_log.log'
|
8
|
+
DEFAULT_LOGFILE = '/tmp/lybercore_log.log' # TODO: change to STDOUT?
|
7
9
|
DEFAULT_LOG_LEVEL = Logger::INFO
|
8
10
|
DEFAULT_FORMATTER = proc do |s, t, p, m|
|
9
11
|
"%5s [%s] (%s) %s :: %s\n" % [s, t.strftime('%Y-%m-%d %H:%M:%S'), $$, p, m]
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# this object defines the allowed states robots can optionally return upon completion
|
2
4
|
# if the return value of the "perform" step is an object of this type and the status value is set an allowed value,
|
3
5
|
# it will be used to set the final workflow state for that druid
|
@@ -7,7 +9,7 @@ module LyberCore
|
|
7
9
|
attr_reader :status
|
8
10
|
attr_accessor :note
|
9
11
|
ALLOWED_RETURN_STATES = %w[completed skipped waiting].freeze
|
10
|
-
DEFAULT_RETURN_STATE = 'completed'
|
12
|
+
DEFAULT_RETURN_STATE = 'completed'
|
11
13
|
|
12
14
|
def self.SKIPPED
|
13
15
|
new(status: 'skipped')
|
@@ -29,6 +31,7 @@ module LyberCore
|
|
29
31
|
def status=(value)
|
30
32
|
state = value.to_s.downcase
|
31
33
|
raise 'invalid return state' unless ALLOWED_RETURN_STATES.include? state
|
34
|
+
|
32
35
|
@status = state
|
33
36
|
end
|
34
37
|
end
|
data/lib/lyber_core/robot.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'benchmark'
|
2
4
|
require 'active_support'
|
3
5
|
require 'active_support/core_ext'
|
@@ -79,16 +81,16 @@ module LyberCore
|
|
79
81
|
workflow_state = 'completed'
|
80
82
|
end
|
81
83
|
# update the workflow status from its current state to the state returned by perform (or 'completed' as the default)
|
82
|
-
workflow_service.
|
84
|
+
workflow_service.update_status(druid: druid, workflow: @workflow_name, process: @step_name, status: workflow_state, elapsed: elapsed, note: note)
|
83
85
|
LyberCore::Log.info "Finished #{druid} in #{sprintf('%0.4f', elapsed)}s"
|
84
86
|
rescue StandardError => e
|
85
87
|
Honeybadger.notify(e) if defined? Honeybadger
|
86
88
|
begin
|
87
89
|
LyberCore::Log.error e.message + "\n" + e.backtrace.join("\n")
|
88
90
|
workflow_service.update_workflow_error_status(@repo, druid, @workflow_name, @step_name, e.message, error_text: Socket.gethostname)
|
89
|
-
rescue StandardError =>
|
90
|
-
LyberCore::Log.error "Cannot set #{druid} to status='error'\n" +
|
91
|
-
raise
|
91
|
+
rescue StandardError => e
|
92
|
+
LyberCore::Log.error "Cannot set #{druid} to status='error'\n" + e.message + "\n" + e.backtrace.join("\n")
|
93
|
+
raise e # send exception to Resque failed queue
|
92
94
|
end
|
93
95
|
end
|
94
96
|
|
@@ -97,6 +99,7 @@ module LyberCore
|
|
97
99
|
def item_queued?(druid)
|
98
100
|
status = workflow_service.workflow_status(@repo, druid, @workflow_name, @step_name)
|
99
101
|
return true if status =~ /queued/i
|
102
|
+
|
100
103
|
LyberCore::Log.warn "Item #{druid} is not queued, but has status of '#{status}'. Will skip processing"
|
101
104
|
false
|
102
105
|
end
|
data/lib/tasks/rdoc.rake
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lyber-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0
|
4
|
+
version: 5.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alpana Pande
|
@@ -16,7 +16,7 @@ authors:
|
|
16
16
|
autorequire:
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
|
-
date: 2019-
|
19
|
+
date: 2019-09-16 00:00:00.000000000 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: activesupport
|
@@ -34,18 +34,38 @@ dependencies:
|
|
34
34
|
version: '0'
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: dor-services
|
37
|
+
requirement: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 7.0.0
|
42
|
+
- - "<"
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '9'
|
45
|
+
type: :runtime
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: !ruby/object:Gem::Requirement
|
48
|
+
requirements:
|
49
|
+
- - ">="
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: 7.0.0
|
52
|
+
- - "<"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '9'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: dor-workflow-client
|
37
57
|
requirement: !ruby/object:Gem::Requirement
|
38
58
|
requirements:
|
39
59
|
- - "~>"
|
40
60
|
- !ruby/object:Gem::Version
|
41
|
-
version: '7
|
61
|
+
version: '3.7'
|
42
62
|
type: :runtime
|
43
63
|
prerelease: false
|
44
64
|
version_requirements: !ruby/object:Gem::Requirement
|
45
65
|
requirements:
|
46
66
|
- - "~>"
|
47
67
|
- !ruby/object:Gem::Version
|
48
|
-
version: '7
|
68
|
+
version: '3.7'
|
49
69
|
- !ruby/object:Gem::Dependency
|
50
70
|
name: coveralls
|
51
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -180,8 +200,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
180
200
|
- !ruby/object:Gem::Version
|
181
201
|
version: 1.3.6
|
182
202
|
requirements: []
|
183
|
-
|
184
|
-
rubygems_version: 2.7.6
|
203
|
+
rubygems_version: 3.0.3
|
185
204
|
signing_key:
|
186
205
|
specification_version: 4
|
187
206
|
summary: Core services used by the SUL Digital Library
|