banter 1.0.1 → 1.0.2

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: 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