banter 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4d85903bb31f3228276c85be5bafef8248ce7d59
4
- data.tar.gz: b0360f892d785b4f43cd1edea68a2dd46770a183
3
+ metadata.gz: 42627fddd3d122f765afe2aef89821602043ba0d
4
+ data.tar.gz: c665d387761aa6a52af05a4e55e08ff35f794cf4
5
5
  SHA512:
6
- metadata.gz: 35b341cecc7fc70ded556ccdd4fc982e10a287d792e98806124b62a6cd12cad61be3e77510f8aee20244578705b0d8407ddb08272333a2a638e7dd9f98cc16d8
7
- data.tar.gz: 45116f712ef2bb23029c23ad55ac820a942230602500439f069240eb2499c15143a05ed06e9e8ad4f6ccd575ed4da11334ab46ffae6547bf5c118e973f7bf9a4
6
+ metadata.gz: 3b5e5f28f78eecfed934806260c4eda7231e338deb826132a0ba752c7c3238f6dd05693a884df0ac059552d765b80d910b8fc669464fd4a1213751d8321433c2
7
+ data.tar.gz: d33a2b58e7da306eebcb9424a3581834a3eca0b03a4711132fc32fcceec57a2b6fbe30c71b5726e4eaa39bd9551458b945bcf4dfee5933b0403cc88dd8b67514
@@ -38,7 +38,7 @@ module Banter
38
38
  worker.perform!(payload)
39
39
  track_message_successful
40
40
  rescue ::Banter::PayloadValidationError => banter_error
41
- track_message_failed(banter_error.message, false)
41
+ track_message_failed(banter_error, false)
42
42
  Banter::RabbitLogger.log(::Logger::ERROR, { worker: worker_class.name, message: banter_error.message, envelope: envelope })
43
43
  Airbrake.notify("Validation error for #{worker_class.name}",
44
44
  params: {
@@ -47,7 +47,7 @@ module Banter
47
47
  context: envelope[:context],
48
48
  payload: envelope[:payload] })
49
49
  rescue => e
50
- track_message_failed(e.message, true)
50
+ track_message_failed(e, true)
51
51
  Banter::RabbitLogger.log(::Logger::DEBUG, "Failed message for #{worker_class.name} #{e.message}")
52
52
  Airbrake.notify("Failed perform for #{worker_class.name}",
53
53
  params: {
@@ -65,10 +65,10 @@ module Banter
65
65
  BanterMessage.message_successful
66
66
  end
67
67
 
68
- def track_message_failed(error_message, error = true)
68
+ def track_message_failed(error, errored = true)
69
69
  return unless Banter::Configuration.web_enabled
70
- status = error ? BanterMessage::STATUS_ERROR : BanterMessage::STATUS_VALIDATION_FAILED
71
- BanterMessage.message_failed(error_message, status)
70
+ status = errored ? BanterMessage::STATUS_ERROR : BanterMessage::STATUS_VALIDATION_FAILED
71
+ BanterMessage.message_failed(error, status)
72
72
  end
73
73
 
74
74
  def track_message_received(worker, payload)
@@ -1,3 +1,3 @@
1
1
  module Banter
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
@@ -13,6 +13,7 @@ class BanterMessage
13
13
  field :done_at, type: Time
14
14
  field :status, type: String
15
15
  field :error_message, type: String
16
+ field :error_backtrace
16
17
  field :worker_id
17
18
  field :progress_at, type: Integer
18
19
  field :progress_total, type: Integer
@@ -71,10 +72,11 @@ class BanterMessage
71
72
  # Records the current message as errored or validation failed with error message. Clears the BanterMessage.current
72
73
  # @param [String] error_message
73
74
  # @param [String] status
74
- def self.message_failed(error_message, status)
75
- current.status = status
76
- current.done_at = Time.now
77
- current.error_message = error_message
75
+ def self.message_failed(error, status)
76
+ current.status = status
77
+ current.done_at = Time.now
78
+ current.error_message = error.message
79
+ current.error_backtrace = error.backtrace
78
80
  current.save!
79
81
  BanterWorker.clear_current_message!(false)
80
82
  @@current = nil
@@ -22,6 +22,7 @@ module Banter
22
22
  done_at: message.done_at,
23
23
  status: message.status,
24
24
  error_message: message.error_message,
25
+ error_backtrace: message.error_backtrace,
25
26
  worker_id: message.worker_id,
26
27
  progress_total: message.progress_total,
27
28
  progress_at: message.progress_at,
@@ -29,7 +29,13 @@ describe Banter::Server::ClientQueueListener do
29
29
  it { expect(banter_message.done_at.to_s).to eq(Time.now.to_s) }
30
30
  it { expect(banter_message.worker_id).to eq(BanterWorker.current.id) }
31
31
  it { expect(banter_message.status).to eq(status) }
32
- it { expect(banter_message.error_message).to eq(error_message) }
32
+ if error_message
33
+ it { expect(banter_message.error_message).to eq(error_message) }
34
+ it { expect(banter_message.error_backtrace).not_to be_blank }
35
+ else
36
+ it { expect(banter_message.error_message).to be_nil }
37
+ it { expect(banter_message.error_backtrace).to be_nil }
38
+ end
33
39
  end
34
40
 
35
41
  before do
@@ -1,6 +1,7 @@
1
1
  angular.module('dashboardApp').controller 'messageController', ($scope, $rootScope, $http, $routeParams, $timeout, message, messagesService, commonMethodsService, messageMethodsService) ->
2
2
  commonMethodsService.setup($scope)
3
3
  messageMethodsService.setup($scope)
4
+ $scope.showBacktrace = false
4
5
  $scope.message = message
5
6
 
6
7
  $rootScope.$on 'start-messageController', ->
@@ -36,6 +36,21 @@
36
36
  .col-sm-3.bold Payload
37
37
  .col-sm-9
38
38
  %pre{data: { 'pretty-json' => 'message.payload'}}
39
+
40
+ %li.list-group-item.row{data: { 'ng-if' => 'message.error_message'}}
41
+ .col-sm-3.bold Error Message
42
+ .col-sm-9 {{ message.error_message }}
43
+
44
+ %li.list-group-item.row{data: { 'ng-if' => 'message.error_backtrace'}}
45
+ .col-sm-3.bold Error Backtrace
46
+ .col-sm-9
47
+ %a{data: { 'ng-click' => "showBacktrace = !showBacktrace"}}
48
+ %span{data: { 'ng-show' => 'showBacktrace' }} Hide Backtrace
49
+ %span{data: { 'ng-show' => '!showBacktrace' }} Show Backtrace
50
+ %div{data: { 'ng-if' => 'showBacktrace'}}
51
+ %p{data: { 'ng-repeat' => "bt in message.error_backtrace track by $index"}}
52
+ {{ bt }}
53
+
39
54
  %li.list-group-item.row{data: {'ng-show' => 'message.progress || message.progress_at || message.progress_total'}}
40
55
  .col-sm-3.bold Progress
41
56
  .col-sm-9
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: banter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Honest Company