qs 0.7.0 → 0.7.1
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/lib/qs/error_handler.rb +7 -1
- data/lib/qs/payload_handler.rb +1 -1
- data/lib/qs/version.rb +1 -1
- data/qs.gemspec +1 -1
- data/test/support/factory.rb +5 -0
- data/test/unit/error_handler_tests.rb +7 -2
- data/test/unit/payload_handler_tests.rb +5 -5
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
|
4
|
-
|
3
|
+
metadata.gz: d8323a541fe5820763e01fd9bc86e1ce69e5c64d
|
4
|
+
data.tar.gz: 5470362402e0cab14f67f96005001d61c62925c0
|
5
5
|
SHA512:
|
6
|
-
|
7
|
-
|
6
|
+
metadata.gz: 1d6d9367d3e72939e184a40271e5a413bd15f695d7e28ad5efe5d08fc92f80409e5e6c4a2e9701b999633a97d793af63622aeaa4857ea2011bd7b7582aac68fd
|
7
|
+
data.tar.gz: 05df115c14aa8d118b5c9582d25eca88f6008c13ab84c42009d7ed022b84fd027113f0708cf6c68ad92d8a7e115ca6f140b3c60247d7fda6c196d6add4f848a4
|
data/lib/qs/error_handler.rb
CHANGED
@@ -1,9 +1,15 @@
|
|
1
|
+
require 'dat-worker-pool/worker'
|
1
2
|
require 'qs/queue'
|
2
3
|
|
3
4
|
module Qs
|
4
5
|
|
5
6
|
class ErrorHandler
|
6
7
|
|
8
|
+
# these are standard error classes that we rescue and run through any
|
9
|
+
# configured error procs; use the same standard error classes that
|
10
|
+
# dat-worker-pool rescues
|
11
|
+
STANDARD_ERROR_CLASSES = DatWorkerPool::Worker::STANDARD_ERROR_CLASSES
|
12
|
+
|
7
13
|
attr_reader :exception, :context, :error_procs
|
8
14
|
|
9
15
|
def initialize(exception, context_hash)
|
@@ -21,7 +27,7 @@ module Qs
|
|
21
27
|
@error_procs.each do |error_proc|
|
22
28
|
begin
|
23
29
|
error_proc.call(@exception, @context)
|
24
|
-
rescue
|
30
|
+
rescue *STANDARD_ERROR_CLASSES => proc_exception
|
25
31
|
@exception = proc_exception
|
26
32
|
end
|
27
33
|
end
|
data/lib/qs/payload_handler.rb
CHANGED
data/lib/qs/version.rb
CHANGED
data/qs.gemspec
CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |gem|
|
|
21
21
|
gem.add_development_dependency("assert", ["~> 2.16.1"])
|
22
22
|
gem.add_development_dependency("scmd", ["~> 3.0.2"])
|
23
23
|
|
24
|
-
gem.add_dependency("dat-worker-pool", ["~> 0.6.
|
24
|
+
gem.add_dependency("dat-worker-pool", ["~> 0.6.3"])
|
25
25
|
gem.add_dependency("hella-redis", ["~> 0.3.1"])
|
26
26
|
gem.add_dependency("much-plugin", ["~> 0.2.0"])
|
27
27
|
gem.add_dependency("much-timeout", ["~> 0.1.0"])
|
data/test/support/factory.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'assert/factory'
|
2
2
|
require 'qs/dispatch_job'
|
3
|
+
require 'qs/error_handler'
|
3
4
|
require 'qs/job'
|
4
5
|
require 'qs/event'
|
5
6
|
|
@@ -15,6 +16,10 @@ module Factory
|
|
15
16
|
exception
|
16
17
|
end
|
17
18
|
|
19
|
+
def self.qs_std_error(message = nil)
|
20
|
+
self.exception(Qs::ErrorHandler::STANDARD_ERROR_CLASSES.sample, message)
|
21
|
+
end
|
22
|
+
|
18
23
|
def self.message(params = nil)
|
19
24
|
self.send([:job, :event].sample, params)
|
20
25
|
end
|
@@ -9,7 +9,7 @@ class Qs::ErrorHandler
|
|
9
9
|
class UnitTests < Assert::Context
|
10
10
|
desc "Qs::ErrorHandler"
|
11
11
|
setup do
|
12
|
-
@exception = Factory.
|
12
|
+
@exception = Factory.qs_std_error
|
13
13
|
@daemon_data = Qs::DaemonData.new
|
14
14
|
@queue_redis_key = Qs::Queue::RedisKey.new(Factory.string)
|
15
15
|
@context_hash = {
|
@@ -24,6 +24,11 @@ class Qs::ErrorHandler
|
|
24
24
|
end
|
25
25
|
subject{ @handler_class }
|
26
26
|
|
27
|
+
should "know its standard error classes" do
|
28
|
+
exp = DatWorkerPool::Worker::STANDARD_ERROR_CLASSES
|
29
|
+
assert_equal exp, subject::STANDARD_ERROR_CLASSES
|
30
|
+
end
|
31
|
+
|
27
32
|
end
|
28
33
|
|
29
34
|
class InitSetupTests < UnitTests
|
@@ -79,7 +84,7 @@ class Qs::ErrorHandler
|
|
79
84
|
desc "and run with error procs that throw exceptions"
|
80
85
|
setup do
|
81
86
|
@proc_exceptions = @error_proc_spies.reverse.map do |spy|
|
82
|
-
exception = Factory.
|
87
|
+
exception = Factory.qs_std_error(@error_proc_spies.index(spy).to_s)
|
83
88
|
spy.raise_exception = exception
|
84
89
|
exception
|
85
90
|
end
|
@@ -77,7 +77,7 @@ class Qs::PayloadHandler
|
|
77
77
|
|
78
78
|
class RunWithExceptionSetupTests < InitTests
|
79
79
|
setup do
|
80
|
-
@route_exception = Factory.
|
80
|
+
@route_exception = Factory.qs_std_error
|
81
81
|
Assert.stub(@route_spy, :run){ raise @route_exception }
|
82
82
|
Assert.stub(Qs::ErrorHandler, :new) do |*args|
|
83
83
|
@error_handler_spy = ErrorHandlerSpy.new(*args)
|
@@ -186,7 +186,7 @@ class Qs::PayloadHandler
|
|
186
186
|
class LoggingJobErrorTests < LoggingJobSetupTests
|
187
187
|
desc "that errors while being processed"
|
188
188
|
setup do
|
189
|
-
@route_exception = Factory.
|
189
|
+
@route_exception = Factory.qs_std_error
|
190
190
|
Assert.stub(@route_spy, :run){ raise @route_exception }
|
191
191
|
|
192
192
|
@payload_handler.run
|
@@ -260,7 +260,7 @@ class Qs::PayloadHandler
|
|
260
260
|
class LoggingEventErrorTests < LoggingEventSetupTests
|
261
261
|
desc "that errors while being processed"
|
262
262
|
setup do
|
263
|
-
@route_exception = Factory.
|
263
|
+
@route_exception = Factory.qs_std_error
|
264
264
|
Assert.stub(@route_spy, :run){ raise @route_exception }
|
265
265
|
|
266
266
|
@payload_handler.run
|
@@ -294,7 +294,7 @@ class Qs::PayloadHandler
|
|
294
294
|
@message = Factory.message
|
295
295
|
setup_for_message(@message)
|
296
296
|
|
297
|
-
Assert.stub(Qs::Payload, :deserialize){ raise Factory.
|
297
|
+
Assert.stub(Qs::Payload, :deserialize){ raise Factory.qs_std_error }
|
298
298
|
|
299
299
|
@payload_handler = @handler_class.new(@daemon_data, @queue_item)
|
300
300
|
@payload_handler.run
|
@@ -430,7 +430,7 @@ class Qs::PayloadHandler
|
|
430
430
|
def initialize(exception, context_hash)
|
431
431
|
@passed_exception = exception
|
432
432
|
@context_hash = context_hash
|
433
|
-
@exception = Factory.
|
433
|
+
@exception = Factory.qs_std_error
|
434
434
|
@run_called = false
|
435
435
|
end
|
436
436
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kelly Redding
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2016-06-
|
13
|
+
date: 2016-06-29 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: assert
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
requirements:
|
40
40
|
- - ~>
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: 0.6.
|
42
|
+
version: 0.6.3
|
43
43
|
type: :runtime
|
44
44
|
version_requirements: *id003
|
45
45
|
- !ruby/object:Gem::Dependency
|