bbk-app 1.1.1.289665 → 1.1.2.294476

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
  SHA256:
3
- metadata.gz: 0a0e8837fd2b2114213ab0ddab182faa7e861cb8ab59b014ef38d15abc3a7a18
4
- data.tar.gz: d922557b53b0c10914ebf52b54395d25121252e053346773fc507e2e054faf40
3
+ metadata.gz: 48d4c5f17dd7b744178733bf2834f5452bdc6db5d01be68384114e20dff96aa3
4
+ data.tar.gz: ac052d0e46715d46a2f092dc5bbd8b8c520ba4b14873bce5c863f9fa8188b66e
5
5
  SHA512:
6
- metadata.gz: 66814da21956e2fc4e2084df654235e2742ea194758778da6262911ddce8a62055da207c930f3b73f23bdd4e886419345bbbef7d82d403edc164c993dcba93a6
7
- data.tar.gz: 0b03d263a0a70596718148933354a35c5a621a5cabd45bfac00d141a5e4be33804fe5dfe448ef92bba237ae8fe27f06c4d2493dbe2f04abcdf2f18886ff60b6f
6
+ metadata.gz: 7cd54852700029c10c8e6ca029f371af7f5c3819e63088bb17aa958e6fe48dfc3983d102d3d3bb5ff01595fe189c6c90cf7d592c7072e155a04d2d2ac2cab13b
7
+ data.tar.gz: ab80b4799e63cb2510faac6998f50368385c22ff8c072833a7a02128f4ff0d923132b5c60f3c26a877d4de1c77584f70b52d15e83a00971134b0cd035bcbb416
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bbk-app (1.1.1.289665)
4
+ bbk-app (1.1.2.294476)
5
5
  activesupport (>= 6.0)
6
6
  bbk-utils (> 1.0.1)
7
7
  oj
@@ -69,7 +69,7 @@ GEM
69
69
  addressable (~> 2.7)
70
70
  mini_portile2 (2.8.8)
71
71
  minitest (5.15.0)
72
- oj (3.16.9)
72
+ oj (3.16.10)
73
73
  bigdecimal (>= 3.0)
74
74
  ostruct (>= 0.2)
75
75
  ostruct (0.6.1)
data/README.md CHANGED
@@ -2,42 +2,100 @@
2
2
 
3
3
  Classes for building services based on BBK stack.
4
4
 
5
- ## Installation
6
5
 
7
- Adding to a gem:
6
+ ## События ActiveSupport::Notifications
7
+
8
+ Подписка на события `BBK::Dispatcher`:
8
9
 
9
10
  ```ruby
10
- # my-cool-gem.gemspec
11
+ ActiveSupport::Notifications.subscribe "dispatcher.run" do |event|
12
+ event.name # => "dispatcher.run"
13
+ event.duration # => 10 (in milliseconds)
14
+ event.allocations # => 1826
15
+ event.payload # => {:extra=>information}
11
16
 
12
- Gem::Specification.new do |spec|
13
- # ...
14
- spec.add_dependency "bbk-app", "~> 1.0.0"
15
- # ...
17
+ Rails.logger.info "#{event} Received!"
16
18
  end
17
19
  ```
18
20
 
19
- Or adding to your project:
21
+ ### BBK::Dispatcher
20
22
 
21
- ```ruby
22
- # Gemfile
23
+ #### 'dispatcher.run'
23
24
 
24
- gem "bbk-app", "~> 1.0.0"
25
- ```
25
+ Момент запуска блокирующего чтения сообщений из всех `BBK::Consumer`
26
+
27
+ | Ключ | Значение |
28
+ | :------------ | :----------------------- |
29
+ | `:dispatcher` | Объект `BBK::Dispatcher` |
30
+
31
+
32
+ #### 'dispatcher.close'
33
+
34
+ Момент остановки `BBK::Dispatcher`, перед остановкой всех `BBK::Consumer#close`
35
+
36
+ | Ключ | Значение |
37
+ | :------------ | :----------------------- |
38
+ | `:dispatcher` | Объект `BBK::Dispatcher` |
39
+
40
+ #### 'dispatcher.process'
41
+
42
+ Исключение при обработки входящего сообщения
43
+
44
+ | Ключ | Значение |
45
+ | :----------- | :------------------------------------ |
46
+ | `:msg` | Объект `BBK::Message` (его наследник) |
47
+ | `:exception` | Стандартный массив [`Exception`] |
48
+
49
+
50
+ #### 'dispatcher.exception'
51
+
52
+ > **! Устарело !** Вместо него надо использольвать `dispatcher.process`
53
+
54
+ Исключение при обработки входящего сообщения
55
+
56
+ | Ключ | Значение |
57
+ | :----------- | :------------------------------------ |
58
+ | `:msg` | Объект `BBK::Message` (его наследник) |
59
+ | `:exception` | Объект `Exception` |
60
+
61
+
62
+ #### 'dispatcher.request.process'
63
+
64
+ Обработка входящего сообщения
65
+
66
+ | Ключ | Значение |
67
+ | :----------- | :----------------------------------------------------------------------- |
68
+ | `:msg` | Объект `BBK::Message` (его наследник) |
69
+ | `:match` | Объект `Hash`, содержащий поля, по которым найден обработчик (Processor) |
70
+ | `:processor` | Объект `Processor`, выполняющий обработку |
71
+ | `:unknown` | `Boolean` - сообщение не попало ни под один обработчик (Processor) |
72
+ | `:exception` | Стандартный массив [`Exception`] |
73
+
74
+
75
+ #### 'dispatcher.request.exception'
76
+
77
+ > **! Устарело !** Вместо него надо использольвать `ispatcher.request.process`
78
+
79
+ Обработка входящего сообщения
80
+
81
+ | Ключ | Значение |
82
+ | :----------- | :----------------------------------------------------------------------- |
83
+ | `:msg` | Объект `BBK::Message` (его наследник) |
84
+ | `:match` | Объект `Hash`, содержащий поля, по которым найден обработчик (Processor) |
85
+ | `:processor` | Объект `Processor`, выполняющий обработку |
86
+ | `:exception` | Объект `Exception` |
26
87
 
27
- ### Supported Ruby versions
28
88
 
29
- * Ruby (MRI) >= 2.5.0
89
+ #### 'dispatcher.request.result_rejected'
30
90
 
31
- ### Tested Ruby versions
91
+ Обработка входящего сообщения
32
92
 
33
- * Ruby (MRI) 2.5.x
34
- * Ruby (MRI) 3.0.x
93
+ | Ключ | Значение |
94
+ | :--------- | :------------------------------------ |
95
+ | `:msg` | Объект `BBK::Message` (его наследник) |
96
+ | `:message` | `String` с текстом ошибки |
35
97
 
36
- ## Contributing
37
98
 
38
- See the file [CONTRIBUTING.md](./CONTRIBUTING.md)
39
99
 
40
- ## License
41
100
 
42
- See the file [LICENSE](./LICENSE)
43
101
 
@@ -135,9 +135,12 @@ module BBK
135
135
  return
136
136
  end
137
137
  logger.debug "There are #{results.count} results to send from #{message.headers[:message_id]}..."
138
- send_results(message, results).value
138
+ ActiveSupport::Notifications.instrument 'dispatcher.process', msg: message do
139
+ send_results(message, results).value
140
+ end
139
141
  rescue StandardError => e
140
142
  logger.error "Failed processing message: #{e.inspect}"
143
+ # это событие устарело, вместо него надо использовать `dispatcher.process`
141
144
  ActiveSupport::Notifications.instrument 'dispatcher.exception', msg: message, exception: e
142
145
  message.nack(error: e)
143
146
  close if force_quit
@@ -151,7 +154,7 @@ module BBK
151
154
  begin
152
155
  is_unknown = @observer.instance_variable_get('@default') == processor
153
156
  ActiveSupport::Notifications.instrument 'dispatcher.request.process', msg: message,
154
- match: matched, unknown: is_unknown do
157
+ match: matched, unknown: is_unknown, processor: processor do
155
158
  processor.call(message, results: results)
156
159
  end
157
160
  rescue StandardError => e
@@ -164,6 +167,7 @@ match: matched, unknown: is_unknown do
164
167
  end
165
168
  [results].flatten
166
169
  rescue StandardError => e
170
+ # это событие устарело, вместо него надо использовать `dispatcher.request.process`
167
171
  ActiveSupport::Notifications.instrument 'dispatcher.request.exception', msg: message,
168
172
  match: matched, processor: processor, exception: e
169
173
  raise
@@ -1,7 +1,7 @@
1
1
  module BBK
2
2
  module App
3
3
 
4
- VERSION = '1.1.1'
4
+ VERSION = '1.1.2'
5
5
 
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bbk-app
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1.289665
4
+ version: 1.1.2.294476
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samoilenko Yuri
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-14 00:00:00.000000000 Z
11
+ date: 2025-03-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport