batchy 0.2.5 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -5,7 +5,7 @@ require 'andand'
5
5
  require 'state_machine/core'
6
6
  require 'sys/proctable'
7
7
  require 'socket'
8
-
8
+ require 'batchy/stopped_error'
9
9
  require 'batchy/batch'
10
10
  require 'batchy/configuration'
11
11
  require 'batchy/version'
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Batchy
2
- VERSION = "0.2.5"
2
+ VERSION = "0.3.0"
3
3
  end
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.2.5
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: 2012-07-31 00:00:00.000000000 Z
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: &2152877960 !ruby/object:Gem::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: *2152877960
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: &2152877180 !ruby/object:Gem::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: *2152877180
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: &2152876680 !ruby/object:Gem::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: *2152876680
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: &2152876060 !ruby/object:Gem::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: *2152876060
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: &2152875560 !ruby/object:Gem::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: *2152875560
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: &2152875060 !ruby/object:Gem::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: *2152875060
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: &2152874620 !ruby/object:Gem::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: *2152874620
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: &2152874200 !ruby/object:Gem::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: *2152874200
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: &2152873760 !ruby/object:Gem::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: *2152873760
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: &2152873260 !ruby/object:Gem::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: *2152873260
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: *2152872780
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: 1.8.11
206
+ rubygems_version: 2.0.7
181
207
  signing_key:
182
- specification_version: 3
208
+ specification_version: 4
183
209
  summary: Set up and tear down a batch
184
210
  test_files: []