lyber-core 3.2.2 → 3.2.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 +5 -13
- data/README.md +2 -2
- data/lib/lyber_core/destroyer.rb +1 -1
- data/lib/lyber_core/robot.rb +26 -1
- metadata +21 -42
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
YzI0OGFmZDIwMmVlNTNjNjM4MmY5ZWZhM2FlYWViMjg4ZDUwNGIwNA==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5d84a86ab4a9661dcf68cdaacde60805262ac54c
|
4
|
+
data.tar.gz: 46d25a5cb59b5d36d2b99dbd9bf9f5ec61c09add
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
NGZlZDVkMmRjY2I5NWUwMDkyZTJiMzJlMDIxNjZjMDhhNGE4NDJkY2UxMTM3
|
11
|
-
ZjI4MzViODRkMzRlOWI5MDI3YjFlOWMyMmY5MDNiYTNmNjljODM=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
NDAwMGY4ZDBmMjYyYmU1YjI5ZjU2NWFkYjRkMTg1ZTgyZTUyMDAxZTZlZTkz
|
14
|
-
OWVlY2NkOGE3OGY3YmMzZjZjYzgwNTZjNDc1OGY4NmUzODBhOGEwMzIzODM4
|
15
|
-
NGJhZDcyOTZhZjlhMGVmNjZlOTE4YWJiNjg5ZGMzZjBkODI1MTg=
|
6
|
+
metadata.gz: 162b2c83d16a4ece5caf4e2f6428c2679151c722f87022e2a7709e6fc6152bd100613deb6dd036bc09edf299e81f8fafeef9f7e6766cbb5fb4c09f9db63a5928
|
7
|
+
data.tar.gz: 9697f85957181f28dece07fe74b08b3d4cf5fc53814c3495d119d67d52abd8dd997e76456f553b1db560e992281478c1803ae519b840f6e78c02d094e870059a
|
data/README.md
CHANGED
@@ -42,7 +42,7 @@ See the [boot.rb file from the Common-Accessioning robot suite](https://github.c
|
|
42
42
|
|
43
43
|
#### Example Rakefile modifications
|
44
44
|
```ruby
|
45
|
-
require '
|
45
|
+
require 'robot-controller/tasks'
|
46
46
|
...
|
47
47
|
task :environment do
|
48
48
|
require_relative 'config/boot'
|
@@ -54,7 +54,7 @@ end
|
|
54
54
|
* Use rake to start your robot, specifying the Resque queue as the environment variable `QUEUE`
|
55
55
|
|
56
56
|
```
|
57
|
-
$ QUEUE=accessionWF_shelve rake environment
|
57
|
+
$ QUEUE=accessionWF_shelve rake environment workers
|
58
58
|
```
|
59
59
|
|
60
60
|
## Enqueing a Job
|
data/lib/lyber_core/destroyer.rb
CHANGED
@@ -22,7 +22,7 @@ module LyberCore
|
|
22
22
|
|
23
23
|
def get_druid_list
|
24
24
|
begin
|
25
|
-
Dor::WorkflowService.get_objects_for_workstep @registration_robot, '', @
|
25
|
+
Dor::WorkflowService.get_objects_for_workstep @registration_robot, '', @workflow, default_repository: @repository
|
26
26
|
rescue Exception => e
|
27
27
|
raise e, "Couldn't fetch druid list"
|
28
28
|
end
|
data/lib/lyber_core/robot.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'benchmark'
|
2
|
+
require 'active_support/core_ext' # camelcase
|
2
3
|
|
3
4
|
module LyberCore
|
4
5
|
module Robot
|
@@ -20,6 +21,30 @@ module LyberCore
|
|
20
21
|
end
|
21
22
|
end
|
22
23
|
|
24
|
+
|
25
|
+
# Converts a given step to the Robot class name
|
26
|
+
# Examples:
|
27
|
+
#
|
28
|
+
# - `dor:assemblyWF:jp2-create` into `Robots::DorRepo::Assembly::Jp2Create`
|
29
|
+
# - `dor:gisAssemblyWF:start-assembly-workflow` into `Robots::DorRepo::GisAssembly::StartAssemblyWorkflow`
|
30
|
+
# - `dor:etdSubmitWF:binder-transfer` into `Robots:DorRepo::EtdSubmit::BinderTransfer`
|
31
|
+
#
|
32
|
+
# @param [String] step. fully qualified step name, e.g., `dor:accessionWF:descriptive-metadata`
|
33
|
+
# @param [Hash] opts
|
34
|
+
# @option :repo_suffix defaults to `Repo`
|
35
|
+
# @return [String] The class name for the robot, e.g., `Robots::DorRepo::Accession:DescriptiveMetadata`
|
36
|
+
def self.step_to_classname step, opts = {}
|
37
|
+
# generate the robot job class name
|
38
|
+
opts[:repo_suffix] ||= 'Repo'
|
39
|
+
r, w, s = step.split(/:/, 3)
|
40
|
+
return [
|
41
|
+
'Robots',
|
42
|
+
r.camelcase + opts[:repo_suffix], # 'Dor' conflicts with dor-services
|
43
|
+
w.sub('WF', '').camelcase,
|
44
|
+
s.gsub('-', '_').camelcase
|
45
|
+
].join('::')
|
46
|
+
end
|
47
|
+
|
23
48
|
attr_accessor :check_queued_status
|
24
49
|
|
25
50
|
def initialize(repo, workflow_name, step_name, opts = {})
|
@@ -46,7 +71,7 @@ module LyberCore
|
|
46
71
|
# otherwise, the robot did something like set the step to 'waiting' with a note
|
47
72
|
|
48
73
|
Dor::WorkflowService.update_workflow_status @repo, druid, @workflow_name, @step_name, 'completed', :elapsed => elapsed, :note => Socket.gethostname
|
49
|
-
LyberCore::Log.info "Finished #{druid} in #{elapsed}s"
|
74
|
+
LyberCore::Log.info "Finished #{druid} in #{sprintf("%0.4f",elapsed)}s"
|
50
75
|
rescue => e
|
51
76
|
LyberCore::Log.error e.message + "\n" + e.backtrace.join("\n")
|
52
77
|
Dor::WorkflowService.update_workflow_error_status @repo, druid , @workflow_name, @step_name, e.message, :error_text => Socket.gethostname
|
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: 3.2.
|
4
|
+
version: 3.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alpana Pande
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date: 2014-
|
17
|
+
date: 2014-07-31 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: dor-workflow-service
|
@@ -22,122 +22,101 @@ dependencies:
|
|
22
22
|
requirements:
|
23
23
|
- - ~>
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version: '1.
|
26
|
-
- - ! '>='
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
version: 1.6.3
|
25
|
+
version: '1.7'
|
29
26
|
type: :runtime
|
30
27
|
prerelease: false
|
31
28
|
version_requirements: !ruby/object:Gem::Requirement
|
32
29
|
requirements:
|
33
30
|
- - ~>
|
34
31
|
- !ruby/object:Gem::Version
|
35
|
-
version: '1.
|
36
|
-
- - ! '>='
|
37
|
-
- !ruby/object:Gem::Version
|
38
|
-
version: 1.6.3
|
32
|
+
version: '1.7'
|
39
33
|
- !ruby/object:Gem::Dependency
|
40
34
|
name: fakeweb
|
41
35
|
requirement: !ruby/object:Gem::Requirement
|
42
36
|
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
46
|
-
type: :development
|
47
|
-
prerelease: false
|
48
|
-
version_requirements: !ruby/object:Gem::Requirement
|
49
|
-
requirements:
|
50
|
-
- - ! '>='
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: '0'
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
name: lyberteam-gems-devel
|
55
|
-
requirement: !ruby/object:Gem::Requirement
|
56
|
-
requirements:
|
57
|
-
- - ! '>='
|
37
|
+
- - '>='
|
58
38
|
- !ruby/object:Gem::Version
|
59
39
|
version: '0'
|
60
40
|
type: :development
|
61
41
|
prerelease: false
|
62
42
|
version_requirements: !ruby/object:Gem::Requirement
|
63
43
|
requirements:
|
64
|
-
- -
|
44
|
+
- - '>='
|
65
45
|
- !ruby/object:Gem::Version
|
66
46
|
version: '0'
|
67
47
|
- !ruby/object:Gem::Dependency
|
68
48
|
name: rake
|
69
49
|
requirement: !ruby/object:Gem::Requirement
|
70
50
|
requirements:
|
71
|
-
- -
|
51
|
+
- - '>='
|
72
52
|
- !ruby/object:Gem::Version
|
73
53
|
version: 0.8.7
|
74
54
|
type: :development
|
75
55
|
prerelease: false
|
76
56
|
version_requirements: !ruby/object:Gem::Requirement
|
77
57
|
requirements:
|
78
|
-
- -
|
58
|
+
- - '>='
|
79
59
|
- !ruby/object:Gem::Version
|
80
60
|
version: 0.8.7
|
81
61
|
- !ruby/object:Gem::Dependency
|
82
62
|
name: rdoc
|
83
63
|
requirement: !ruby/object:Gem::Requirement
|
84
64
|
requirements:
|
85
|
-
- -
|
65
|
+
- - '>='
|
86
66
|
- !ruby/object:Gem::Version
|
87
67
|
version: '0'
|
88
68
|
type: :development
|
89
69
|
prerelease: false
|
90
70
|
version_requirements: !ruby/object:Gem::Requirement
|
91
71
|
requirements:
|
92
|
-
- -
|
72
|
+
- - '>='
|
93
73
|
- !ruby/object:Gem::Version
|
94
74
|
version: '0'
|
95
75
|
- !ruby/object:Gem::Dependency
|
96
76
|
name: rspec
|
97
77
|
requirement: !ruby/object:Gem::Requirement
|
98
78
|
requirements:
|
99
|
-
- -
|
79
|
+
- - '>='
|
100
80
|
- !ruby/object:Gem::Version
|
101
81
|
version: '0'
|
102
82
|
type: :development
|
103
83
|
prerelease: false
|
104
84
|
version_requirements: !ruby/object:Gem::Requirement
|
105
85
|
requirements:
|
106
|
-
- -
|
86
|
+
- - '>='
|
107
87
|
- !ruby/object:Gem::Version
|
108
88
|
version: '0'
|
109
89
|
- !ruby/object:Gem::Dependency
|
110
90
|
name: stompserver
|
111
91
|
requirement: !ruby/object:Gem::Requirement
|
112
92
|
requirements:
|
113
|
-
- -
|
93
|
+
- - '>='
|
114
94
|
- !ruby/object:Gem::Version
|
115
95
|
version: '0'
|
116
96
|
type: :development
|
117
97
|
prerelease: false
|
118
98
|
version_requirements: !ruby/object:Gem::Requirement
|
119
99
|
requirements:
|
120
|
-
- -
|
100
|
+
- - '>='
|
121
101
|
- !ruby/object:Gem::Version
|
122
102
|
version: '0'
|
123
103
|
- !ruby/object:Gem::Dependency
|
124
104
|
name: yard
|
125
105
|
requirement: !ruby/object:Gem::Requirement
|
126
106
|
requirements:
|
127
|
-
- -
|
107
|
+
- - '>='
|
128
108
|
- !ruby/object:Gem::Version
|
129
109
|
version: '0'
|
130
110
|
type: :development
|
131
111
|
prerelease: false
|
132
112
|
version_requirements: !ruby/object:Gem::Requirement
|
133
113
|
requirements:
|
134
|
-
- -
|
114
|
+
- - '>='
|
135
115
|
- !ruby/object:Gem::Version
|
136
116
|
version: '0'
|
137
|
-
description:
|
138
|
-
Jhove, and call Suri
|
139
|
-
|
140
|
-
Also contains core classes to build robots'
|
117
|
+
description: |-
|
118
|
+
Contains classes to make http connections with a client-cert, use Jhove, and call Suri
|
119
|
+
Also contains core classes to build robots
|
141
120
|
email:
|
142
121
|
- wmene@stanford.edu
|
143
122
|
executables: []
|
@@ -160,12 +139,12 @@ require_paths:
|
|
160
139
|
- lib
|
161
140
|
required_ruby_version: !ruby/object:Gem::Requirement
|
162
141
|
requirements:
|
163
|
-
- -
|
142
|
+
- - '>='
|
164
143
|
- !ruby/object:Gem::Version
|
165
144
|
version: '0'
|
166
145
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
167
146
|
requirements:
|
168
|
-
- -
|
147
|
+
- - '>='
|
169
148
|
- !ruby/object:Gem::Version
|
170
149
|
version: 1.3.6
|
171
150
|
requirements: []
|