batchy 0.2.5 → 0.3.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 +7 -0
- data/lib/batchy.rb +1 -1
- data/lib/batchy/batch.rb +9 -1
- data/lib/batchy/stopped_error.rb +12 -0
- data/lib/batchy/version.rb +1 -1
- metadata +74 -48
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 861de001bcca1c24812db299eb7807a426e7c630
|
4
|
+
data.tar.gz: ecdc1a63d144b2eac0e26bad7cbc556eadfa2b3b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8b083a3ad267c2687b5e391c4be3f4fe0e58c45032343f34e54602883b20f9ca36ac19c82930b15fbe92ad0435c60139bb537ed33d83b8410ba6f7c8ba549139
|
7
|
+
data.tar.gz: 97b8c7fe34bb27e5e73ea23ee9e0867e791581a6de20495f35d025d374f5e798dccf62eff981a765f6720c80e278f0de938b52737aa12d3284545ecf092bd7ca
|
data/lib/batchy.rb
CHANGED
data/lib/batchy/batch.rb
CHANGED
@@ -43,9 +43,10 @@ module Batchy
|
|
43
43
|
|
44
44
|
event :finish do
|
45
45
|
transition :running => :success, :unless => :has_errors
|
46
|
+
transition :running => :stopped, :if => :was_stopped
|
46
47
|
transition :running => :errored
|
47
48
|
end
|
48
|
-
after_transition :running => [:success, :errored] do | batch, transition |
|
49
|
+
after_transition :running => [:success, :errored, :stopped] do | batch, transition |
|
49
50
|
batch.finished_at = DateTime.now
|
50
51
|
batch.save!
|
51
52
|
end
|
@@ -139,6 +140,13 @@ module Batchy
|
|
139
140
|
def has_errors
|
140
141
|
error?
|
141
142
|
end
|
143
|
+
|
144
|
+
# Was this errored through a StoppedError?
|
145
|
+
# See StoppedError for example uses
|
146
|
+
def was_stopped
|
147
|
+
has_errors and error.class == StoppedError
|
148
|
+
end
|
149
|
+
|
142
150
|
|
143
151
|
# Is this an unwanted duplicate process?
|
144
152
|
def invalid_duplication
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Batchy
|
2
|
+
# The StoppedError can be thrown in a batch's run to signify that
|
3
|
+
# the batch was stopped, but not errored.
|
4
|
+
#
|
5
|
+
# An example use for this would be as part of a Data Recency Check -
|
6
|
+
# which runs a SQL Statement to ensure the existance of data.
|
7
|
+
# If data is not found, a StoppedError can be raised, which signifies
|
8
|
+
# that it and any following batches were explicitly halted.
|
9
|
+
class StoppedError < StandardError
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
data/lib/batchy/version.rb
CHANGED
metadata
CHANGED
@@ -1,137 +1,169 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: batchy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.3.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Bob Briski
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2013-08-30 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: activerecord
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '3.0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3.0'
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: activesupport
|
27
|
-
requirement:
|
28
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
31
|
- - ~>
|
31
32
|
- !ruby/object:Gem::Version
|
32
33
|
version: '3.0'
|
33
34
|
type: :runtime
|
34
35
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '3.0'
|
36
41
|
- !ruby/object:Gem::Dependency
|
37
42
|
name: addressable
|
38
|
-
requirement:
|
39
|
-
none: false
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
40
44
|
requirements:
|
41
45
|
- - ~>
|
42
46
|
- !ruby/object:Gem::Version
|
43
47
|
version: '2.2'
|
44
48
|
type: :runtime
|
45
49
|
prerelease: false
|
46
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '2.2'
|
47
55
|
- !ruby/object:Gem::Dependency
|
48
56
|
name: andand
|
49
|
-
requirement:
|
50
|
-
none: false
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
51
58
|
requirements:
|
52
59
|
- - ~>
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: '1.3'
|
55
62
|
type: :runtime
|
56
63
|
prerelease: false
|
57
|
-
version_requirements:
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.3'
|
58
69
|
- !ruby/object:Gem::Dependency
|
59
70
|
name: state_machine
|
60
|
-
requirement:
|
61
|
-
none: false
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
62
72
|
requirements:
|
63
73
|
- - ! '>='
|
64
74
|
- !ruby/object:Gem::Version
|
65
75
|
version: '0'
|
66
76
|
type: :runtime
|
67
77
|
prerelease: false
|
68
|
-
version_requirements:
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ! '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: rake
|
71
|
-
requirement:
|
72
|
-
none: false
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
73
86
|
requirements:
|
74
87
|
- - ! '>='
|
75
88
|
- !ruby/object:Gem::Version
|
76
89
|
version: '0'
|
77
90
|
type: :runtime
|
78
91
|
prerelease: false
|
79
|
-
version_requirements:
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ! '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
80
97
|
- !ruby/object:Gem::Dependency
|
81
98
|
name: sys-proctable
|
82
|
-
requirement:
|
83
|
-
none: false
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
84
100
|
requirements:
|
85
101
|
- - ! '>='
|
86
102
|
- !ruby/object:Gem::Version
|
87
103
|
version: '0'
|
88
104
|
type: :runtime
|
89
105
|
prerelease: false
|
90
|
-
version_requirements:
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ! '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
91
111
|
- !ruby/object:Gem::Dependency
|
92
112
|
name: rspec
|
93
|
-
requirement:
|
94
|
-
none: false
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
95
114
|
requirements:
|
96
115
|
- - ! '>='
|
97
116
|
- !ruby/object:Gem::Version
|
98
117
|
version: '0'
|
99
118
|
type: :development
|
100
119
|
prerelease: false
|
101
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ! '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
102
125
|
- !ruby/object:Gem::Dependency
|
103
126
|
name: factory_girl
|
104
|
-
requirement:
|
105
|
-
none: false
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
106
128
|
requirements:
|
107
129
|
- - ! '>='
|
108
130
|
- !ruby/object:Gem::Version
|
109
131
|
version: '0'
|
110
132
|
type: :development
|
111
133
|
prerelease: false
|
112
|
-
version_requirements:
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ! '>='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
113
139
|
- !ruby/object:Gem::Dependency
|
114
140
|
name: sqlite3
|
115
|
-
requirement:
|
116
|
-
none: false
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
117
142
|
requirements:
|
118
143
|
- - ! '>='
|
119
144
|
- !ruby/object:Gem::Version
|
120
145
|
version: '0'
|
121
146
|
type: :development
|
122
147
|
prerelease: false
|
123
|
-
version_requirements:
|
124
|
-
- !ruby/object:Gem::Dependency
|
125
|
-
name: database_cleaner
|
126
|
-
requirement: &2152872780 !ruby/object:Gem::Requirement
|
127
|
-
none: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
128
149
|
requirements:
|
129
150
|
- - ! '>='
|
130
151
|
- !ruby/object:Gem::Version
|
131
152
|
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: database_cleaner
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - '='
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 1.0.1
|
132
160
|
type: :development
|
133
161
|
prerelease: false
|
134
|
-
version_requirements:
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - '='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 1.0.1
|
135
167
|
description: For handling all of the exceptions, states, timeouts, etc of batch processes
|
136
168
|
email:
|
137
169
|
- bbriski@raybeam.com
|
@@ -141,6 +173,7 @@ extra_rdoc_files: []
|
|
141
173
|
files:
|
142
174
|
- lib/batchy/batch.rb
|
143
175
|
- lib/batchy/configuration.rb
|
176
|
+
- lib/batchy/stopped_error.rb
|
144
177
|
- lib/batchy/version.rb
|
145
178
|
- lib/batchy.rb
|
146
179
|
- lib/generators/batchy/active_record_generator.rb
|
@@ -153,32 +186,25 @@ files:
|
|
153
186
|
- README.rdoc
|
154
187
|
homepage: https://github.com/Raybeam/batchy
|
155
188
|
licenses: []
|
189
|
+
metadata: {}
|
156
190
|
post_install_message:
|
157
191
|
rdoc_options: []
|
158
192
|
require_paths:
|
159
193
|
- lib
|
160
194
|
required_ruby_version: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
195
|
requirements:
|
163
196
|
- - ! '>='
|
164
197
|
- !ruby/object:Gem::Version
|
165
198
|
version: '0'
|
166
|
-
segments:
|
167
|
-
- 0
|
168
|
-
hash: -1084013697829719075
|
169
199
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
170
|
-
none: false
|
171
200
|
requirements:
|
172
201
|
- - ! '>='
|
173
202
|
- !ruby/object:Gem::Version
|
174
203
|
version: '0'
|
175
|
-
segments:
|
176
|
-
- 0
|
177
|
-
hash: -1084013697829719075
|
178
204
|
requirements: []
|
179
205
|
rubyforge_project:
|
180
|
-
rubygems_version:
|
206
|
+
rubygems_version: 2.0.7
|
181
207
|
signing_key:
|
182
|
-
specification_version:
|
208
|
+
specification_version: 4
|
183
209
|
summary: Set up and tear down a batch
|
184
210
|
test_files: []
|