gilmour 0.2.7 → 0.2.8

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3bb536ca3fba5d81c5ab8ae282e7eeb3a6b1cefe
4
- data.tar.gz: 543fd382d9c4e3176cab664c7a10fe839775740d
3
+ metadata.gz: c364692b979b412f2e2057183e53a13c418a127c
4
+ data.tar.gz: 6a2dd4dcd850f82820c5c9fa4708dff3e3ab283b
5
5
  SHA512:
6
- metadata.gz: cd60a017a32fb69becd5a751cb9a2f06189244cac16910638469168b3123611c1fe39c20913a81fedd54d8323d455b455f1fdb76da7a10ce5ae7f1c4406dc59d
7
- data.tar.gz: 8816bde67db14712c95f62c3970308615a1d25d82ec63a8b26ac6fca18575a5be48f5ff7744039ceea664c3728888d8f8133c11b008e1d42d29647d697edefa2
6
+ metadata.gz: 5d4c63124e0f0a55666e8e081207386b591f10daaa0d5cf8cd093638343cd8645e468c4b034b67119c4f76bc13b054b4da80674f3470642fb4cd833d1b7a7140
7
+ data.tar.gz: 9fbf7269fdcddb0eecb61a358e6bf2ca1727afa81b12d6c16a34b21a783f970d9ee7c4dbfbcee677d0dff43e464b079e977aed7ac882149da5cf1b76bb8d67e9
@@ -125,7 +125,7 @@ module Gilmour
125
125
  end
126
126
 
127
127
  def publish_error(messsage)
128
- @publisher.publish(Gilmour::ErrorChannel, messsage)
128
+ publish(messsage, Gilmour::ErrorChannel)
129
129
  end
130
130
 
131
131
  def queue_error(key, message)
@@ -1,6 +1,7 @@
1
1
  # encoding: utf-8
2
2
 
3
- require "logger"
3
+ require 'json'
4
+ require 'logger'
4
5
 
5
6
  # Top level module
6
7
  module Gilmour
@@ -147,21 +148,21 @@ module Gilmour
147
148
  end
148
149
  end
149
150
 
150
- def emit_error(message, code=500, extra={})
151
- # Publish all errors on gilmour.error
152
- # This may or may not have a listener based on the configuration
153
- # supplied at setup.
151
+ # Publish all errors on gilmour.error
152
+ # This may or may not have a listener based on the configuration
153
+ # supplied at setup.
154
+ def emit_error(message, code = 500, extra = {})
154
155
  opts = {
155
- :topic => @request[:topic],
156
- :data => @request[:data],
157
- :description => '',
158
- :sender => @sender,
159
- :multi_process => @multi_process,
160
- :code => 500
161
- }.merge(extra || {})
162
-
163
- opts[:timestamp] = Time.now.getutc
164
- payload = {:traceback => message, :extra => opts, :code => code}
156
+ topic: @request.topic,
157
+ request_data: @request.body,
158
+ userdata: JSON.generate(extra || {}),
159
+ sender: @sender,
160
+ multi_process: @multi_process,
161
+ timestamp: Time.now.getutc
162
+ }
163
+
164
+ payload = { backtrace: message, code: code }
165
+ payload.merge!(opts)
165
166
  @backend.emit_error payload
166
167
  end
167
168
 
@@ -118,6 +118,33 @@ describe 'TestSubscriber' do
118
118
  end
119
119
  end
120
120
 
121
+ context 'Exception data' do
122
+ Given(:ping_opts) do
123
+ redis_ping_options
124
+ end
125
+
126
+ When(:sub) do
127
+ Gilmour::RedisBackend.new({})
128
+ end
129
+ When(:code) do
130
+ waiter_error = Waiter.new
131
+ code = nil
132
+
133
+ error_listener_proc = sub.add_listener Gilmour::ErrorChannel do
134
+ code = request.body.code
135
+ waiter_error.signal
136
+ end
137
+
138
+ sub.publish(3, TestSubscriber::TimeoutTopic)
139
+ waiter_error.wait(5)
140
+ sub.remove_listener Gilmour::ErrorChannel, error_listener_proc
141
+ code
142
+ end
143
+ Then do
144
+ code.should be == 504
145
+ end
146
+ end
147
+
121
148
  context 'Handler sleeps longer than the Timeout' do
122
149
  Given(:ping_opts) do
123
150
  redis_ping_options
@@ -128,6 +128,33 @@ describe 'TestSubscriberFork' do
128
128
  end
129
129
  end
130
130
 
131
+ context 'Exception data' do
132
+ Given(:ping_opts) do
133
+ redis_ping_options
134
+ end
135
+
136
+ When(:sub) do
137
+ Gilmour::RedisBackend.new({})
138
+ end
139
+ When(:code) do
140
+ waiter_error = Waiter.new
141
+ code = nil
142
+
143
+ error_listener_proc = sub.add_listener Gilmour::ErrorChannel do
144
+ code = request.body.code
145
+ waiter_error.signal
146
+ end
147
+
148
+ sub.publish(3, TestSubscriber::TimeoutTopic)
149
+ waiter_error.wait(5)
150
+ sub.remove_listener Gilmour::ErrorChannel, error_listener_proc
151
+ code
152
+ end
153
+ Then do
154
+ code.should be == 504
155
+ end
156
+ end
157
+
131
158
  context 'Handler sleeps longer than the Timeout' do
132
159
  Given(:ping_opts) do
133
160
  redis_ping_options
data/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Gilmour
2
- VERSION = '0.2.7'
2
+ VERSION = '0.2.8'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gilmour
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aditya Godbole
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-02 00:00:00.000000000 Z
11
+ date: 2015-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec