sbmt-outbox 5.0.0

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.
Files changed (72) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +440 -0
  3. data/Rakefile +3 -0
  4. data/app/interactors/sbmt/outbox/base_create_item.rb +55 -0
  5. data/app/interactors/sbmt/outbox/create_inbox_item.rb +10 -0
  6. data/app/interactors/sbmt/outbox/create_outbox_item.rb +10 -0
  7. data/app/interactors/sbmt/outbox/dry_interactor.rb +16 -0
  8. data/app/interactors/sbmt/outbox/partition_strategies/hash_partitioning.rb +20 -0
  9. data/app/interactors/sbmt/outbox/partition_strategies/number_partitioning.rb +26 -0
  10. data/app/interactors/sbmt/outbox/process_item.rb +269 -0
  11. data/app/interactors/sbmt/outbox/retry_strategies/compacted_log.rb +41 -0
  12. data/app/interactors/sbmt/outbox/retry_strategies/exponential_backoff.rb +34 -0
  13. data/app/jobs/sbmt/outbox/base_delete_stale_items_job.rb +78 -0
  14. data/app/jobs/sbmt/outbox/delete_stale_inbox_items_job.rb +15 -0
  15. data/app/jobs/sbmt/outbox/delete_stale_outbox_items_job.rb +15 -0
  16. data/app/models/sbmt/outbox/base_item.rb +165 -0
  17. data/app/models/sbmt/outbox/base_item_config.rb +106 -0
  18. data/app/models/sbmt/outbox/inbox_item.rb +38 -0
  19. data/app/models/sbmt/outbox/inbox_item_config.rb +13 -0
  20. data/app/models/sbmt/outbox/outbox_item.rb +52 -0
  21. data/app/models/sbmt/outbox/outbox_item_config.rb +13 -0
  22. data/config/initializers/schked.rb +9 -0
  23. data/config/initializers/yabeda.rb +71 -0
  24. data/config/schedule.rb +9 -0
  25. data/exe/outbox +16 -0
  26. data/lib/generators/helpers/config.rb +46 -0
  27. data/lib/generators/helpers/initializer.rb +41 -0
  28. data/lib/generators/helpers/items.rb +17 -0
  29. data/lib/generators/helpers/migration.rb +73 -0
  30. data/lib/generators/helpers/paas.rb +17 -0
  31. data/lib/generators/helpers/values.rb +49 -0
  32. data/lib/generators/helpers.rb +8 -0
  33. data/lib/generators/outbox/install/USAGE +10 -0
  34. data/lib/generators/outbox/install/install_generator.rb +33 -0
  35. data/lib/generators/outbox/install/templates/Outboxfile +3 -0
  36. data/lib/generators/outbox/install/templates/outbox.rb +32 -0
  37. data/lib/generators/outbox/install/templates/outbox.yml +51 -0
  38. data/lib/generators/outbox/item/USAGE +12 -0
  39. data/lib/generators/outbox/item/item_generator.rb +94 -0
  40. data/lib/generators/outbox/item/templates/inbox_item.rb.tt +7 -0
  41. data/lib/generators/outbox/item/templates/outbox_item.rb.tt +16 -0
  42. data/lib/generators/outbox/transport/USAGE +19 -0
  43. data/lib/generators/outbox/transport/templates/inbox_transport.yml.erb +9 -0
  44. data/lib/generators/outbox/transport/templates/outbox_transport.yml.erb +10 -0
  45. data/lib/generators/outbox/transport/transport_generator.rb +60 -0
  46. data/lib/generators/outbox.rb +23 -0
  47. data/lib/sbmt/outbox/ascii_art.rb +62 -0
  48. data/lib/sbmt/outbox/cli.rb +100 -0
  49. data/lib/sbmt/outbox/database_switcher.rb +15 -0
  50. data/lib/sbmt/outbox/engine.rb +45 -0
  51. data/lib/sbmt/outbox/error_tracker.rb +26 -0
  52. data/lib/sbmt/outbox/errors.rb +14 -0
  53. data/lib/sbmt/outbox/instrumentation/open_telemetry_loader.rb +34 -0
  54. data/lib/sbmt/outbox/logger.rb +35 -0
  55. data/lib/sbmt/outbox/middleware/builder.rb +23 -0
  56. data/lib/sbmt/outbox/middleware/open_telemetry/tracing_create_item_middleware.rb +42 -0
  57. data/lib/sbmt/outbox/middleware/open_telemetry/tracing_item_process_middleware.rb +49 -0
  58. data/lib/sbmt/outbox/middleware/runner.rb +29 -0
  59. data/lib/sbmt/outbox/middleware/sentry/tracing_batch_process_middleware.rb +48 -0
  60. data/lib/sbmt/outbox/middleware/sentry/tracing_item_process_middleware.rb +65 -0
  61. data/lib/sbmt/outbox/middleware/sentry/transaction.rb +28 -0
  62. data/lib/sbmt/outbox/probes/probe.rb +38 -0
  63. data/lib/sbmt/outbox/redis_client_factory.rb +36 -0
  64. data/lib/sbmt/outbox/tasks/delete_failed_items.rake +17 -0
  65. data/lib/sbmt/outbox/tasks/retry_failed_items.rake +20 -0
  66. data/lib/sbmt/outbox/thread_pool.rb +108 -0
  67. data/lib/sbmt/outbox/throttler.rb +52 -0
  68. data/lib/sbmt/outbox/version.rb +7 -0
  69. data/lib/sbmt/outbox/worker.rb +233 -0
  70. data/lib/sbmt/outbox.rb +136 -0
  71. data/lib/sbmt-outbox.rb +3 -0
  72. metadata +594 -0
metadata ADDED
@@ -0,0 +1,594 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sbmt-outbox
3
+ version: !ruby/object:Gem::Version
4
+ version: 5.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Sbermarket Ruby-Platform Team
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2024-02-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: connection_pool
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: cutoff
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.5'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.5'
41
+ - !ruby/object:Gem::Dependency
42
+ name: dry-initializer
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: dry-monads
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.3'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: exponential-backoff
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '5.2'
90
+ - - "<"
91
+ - !ruby/object:Gem::Version
92
+ version: '8'
93
+ type: :runtime
94
+ prerelease: false
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '5.2'
100
+ - - "<"
101
+ - !ruby/object:Gem::Version
102
+ version: '8'
103
+ - !ruby/object:Gem::Dependency
104
+ name: yabeda
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '0.8'
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '0.8'
117
+ - !ruby/object:Gem::Dependency
118
+ name: thor
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0.20'
124
+ - - "<"
125
+ - !ruby/object:Gem::Version
126
+ version: '2'
127
+ type: :runtime
128
+ prerelease: false
129
+ version_requirements: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: '0.20'
134
+ - - "<"
135
+ - !ruby/object:Gem::Version
136
+ version: '2'
137
+ - !ruby/object:Gem::Dependency
138
+ name: redlock
139
+ requirement: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">"
142
+ - !ruby/object:Gem::Version
143
+ version: '1.0'
144
+ - - "<"
145
+ - !ruby/object:Gem::Version
146
+ version: '3.0'
147
+ type: :runtime
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">"
152
+ - !ruby/object:Gem::Version
153
+ version: '1.0'
154
+ - - "<"
155
+ - !ruby/object:Gem::Version
156
+ version: '3.0'
157
+ - !ruby/object:Gem::Dependency
158
+ name: redis-client
159
+ requirement: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ version: 0.14.1
164
+ - - "<"
165
+ - !ruby/object:Gem::Version
166
+ version: 1.0.0
167
+ type: :runtime
168
+ prerelease: false
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: 0.14.1
174
+ - - "<"
175
+ - !ruby/object:Gem::Version
176
+ version: 1.0.0
177
+ - !ruby/object:Gem::Dependency
178
+ name: http_health_check
179
+ requirement: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - "~>"
182
+ - !ruby/object:Gem::Version
183
+ version: '0.5'
184
+ type: :runtime
185
+ prerelease: false
186
+ version_requirements: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - "~>"
189
+ - !ruby/object:Gem::Version
190
+ version: '0.5'
191
+ - !ruby/object:Gem::Dependency
192
+ name: appraisal
193
+ requirement: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ type: :development
199
+ prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ requirements:
202
+ - - ">="
203
+ - !ruby/object:Gem::Version
204
+ version: '0'
205
+ - !ruby/object:Gem::Dependency
206
+ name: bundler
207
+ requirement: !ruby/object:Gem::Requirement
208
+ requirements:
209
+ - - ">="
210
+ - !ruby/object:Gem::Version
211
+ version: '0'
212
+ type: :development
213
+ prerelease: false
214
+ version_requirements: !ruby/object:Gem::Requirement
215
+ requirements:
216
+ - - ">="
217
+ - !ruby/object:Gem::Version
218
+ version: '0'
219
+ - !ruby/object:Gem::Dependency
220
+ name: combustion
221
+ requirement: !ruby/object:Gem::Requirement
222
+ requirements:
223
+ - - ">="
224
+ - !ruby/object:Gem::Version
225
+ version: '0'
226
+ type: :development
227
+ prerelease: false
228
+ version_requirements: !ruby/object:Gem::Requirement
229
+ requirements:
230
+ - - ">="
231
+ - !ruby/object:Gem::Version
232
+ version: '0'
233
+ - !ruby/object:Gem::Dependency
234
+ name: factory_bot_rails
235
+ requirement: !ruby/object:Gem::Requirement
236
+ requirements:
237
+ - - ">="
238
+ - !ruby/object:Gem::Version
239
+ version: '0'
240
+ type: :development
241
+ prerelease: false
242
+ version_requirements: !ruby/object:Gem::Requirement
243
+ requirements:
244
+ - - ">="
245
+ - !ruby/object:Gem::Version
246
+ version: '0'
247
+ - !ruby/object:Gem::Dependency
248
+ name: pg
249
+ requirement: !ruby/object:Gem::Requirement
250
+ requirements:
251
+ - - ">="
252
+ - !ruby/object:Gem::Version
253
+ version: '0'
254
+ type: :development
255
+ prerelease: false
256
+ version_requirements: !ruby/object:Gem::Requirement
257
+ requirements:
258
+ - - ">="
259
+ - !ruby/object:Gem::Version
260
+ version: '0'
261
+ - !ruby/object:Gem::Dependency
262
+ name: rake
263
+ requirement: !ruby/object:Gem::Requirement
264
+ requirements:
265
+ - - ">="
266
+ - !ruby/object:Gem::Version
267
+ version: '0'
268
+ type: :development
269
+ prerelease: false
270
+ version_requirements: !ruby/object:Gem::Requirement
271
+ requirements:
272
+ - - ">="
273
+ - !ruby/object:Gem::Version
274
+ version: '0'
275
+ - !ruby/object:Gem::Dependency
276
+ name: rspec
277
+ requirement: !ruby/object:Gem::Requirement
278
+ requirements:
279
+ - - ">="
280
+ - !ruby/object:Gem::Version
281
+ version: '0'
282
+ type: :development
283
+ prerelease: false
284
+ version_requirements: !ruby/object:Gem::Requirement
285
+ requirements:
286
+ - - ">="
287
+ - !ruby/object:Gem::Version
288
+ version: '0'
289
+ - !ruby/object:Gem::Dependency
290
+ name: rspec-rails
291
+ requirement: !ruby/object:Gem::Requirement
292
+ requirements:
293
+ - - ">="
294
+ - !ruby/object:Gem::Version
295
+ version: '0'
296
+ type: :development
297
+ prerelease: false
298
+ version_requirements: !ruby/object:Gem::Requirement
299
+ requirements:
300
+ - - ">="
301
+ - !ruby/object:Gem::Version
302
+ version: '0'
303
+ - !ruby/object:Gem::Dependency
304
+ name: rspec_junit_formatter
305
+ requirement: !ruby/object:Gem::Requirement
306
+ requirements:
307
+ - - ">="
308
+ - !ruby/object:Gem::Version
309
+ version: '0'
310
+ type: :development
311
+ prerelease: false
312
+ version_requirements: !ruby/object:Gem::Requirement
313
+ requirements:
314
+ - - ">="
315
+ - !ruby/object:Gem::Version
316
+ version: '0'
317
+ - !ruby/object:Gem::Dependency
318
+ name: rubocop
319
+ requirement: !ruby/object:Gem::Requirement
320
+ requirements:
321
+ - - ">="
322
+ - !ruby/object:Gem::Version
323
+ version: '0'
324
+ type: :development
325
+ prerelease: false
326
+ version_requirements: !ruby/object:Gem::Requirement
327
+ requirements:
328
+ - - ">="
329
+ - !ruby/object:Gem::Version
330
+ version: '0'
331
+ - !ruby/object:Gem::Dependency
332
+ name: rubocop-rails
333
+ requirement: !ruby/object:Gem::Requirement
334
+ requirements:
335
+ - - ">="
336
+ - !ruby/object:Gem::Version
337
+ version: '0'
338
+ type: :development
339
+ prerelease: false
340
+ version_requirements: !ruby/object:Gem::Requirement
341
+ requirements:
342
+ - - ">="
343
+ - !ruby/object:Gem::Version
344
+ version: '0'
345
+ - !ruby/object:Gem::Dependency
346
+ name: rubocop-rspec
347
+ requirement: !ruby/object:Gem::Requirement
348
+ requirements:
349
+ - - ">="
350
+ - !ruby/object:Gem::Version
351
+ version: '0'
352
+ type: :development
353
+ prerelease: false
354
+ version_requirements: !ruby/object:Gem::Requirement
355
+ requirements:
356
+ - - ">="
357
+ - !ruby/object:Gem::Version
358
+ version: '0'
359
+ - !ruby/object:Gem::Dependency
360
+ name: rubocop-performance
361
+ requirement: !ruby/object:Gem::Requirement
362
+ requirements:
363
+ - - ">="
364
+ - !ruby/object:Gem::Version
365
+ version: '0'
366
+ type: :development
367
+ prerelease: false
368
+ version_requirements: !ruby/object:Gem::Requirement
369
+ requirements:
370
+ - - ">="
371
+ - !ruby/object:Gem::Version
372
+ version: '0'
373
+ - !ruby/object:Gem::Dependency
374
+ name: standard
375
+ requirement: !ruby/object:Gem::Requirement
376
+ requirements:
377
+ - - ">="
378
+ - !ruby/object:Gem::Version
379
+ version: '1.7'
380
+ type: :development
381
+ prerelease: false
382
+ version_requirements: !ruby/object:Gem::Requirement
383
+ requirements:
384
+ - - ">="
385
+ - !ruby/object:Gem::Version
386
+ version: '1.7'
387
+ - !ruby/object:Gem::Dependency
388
+ name: schked
389
+ requirement: !ruby/object:Gem::Requirement
390
+ requirements:
391
+ - - ">="
392
+ - !ruby/object:Gem::Version
393
+ version: '0.3'
394
+ - - "<"
395
+ - !ruby/object:Gem::Version
396
+ version: '2'
397
+ type: :development
398
+ prerelease: false
399
+ version_requirements: !ruby/object:Gem::Requirement
400
+ requirements:
401
+ - - ">="
402
+ - !ruby/object:Gem::Version
403
+ version: '0.3'
404
+ - - "<"
405
+ - !ruby/object:Gem::Version
406
+ version: '2'
407
+ - !ruby/object:Gem::Dependency
408
+ name: zeitwerk
409
+ requirement: !ruby/object:Gem::Requirement
410
+ requirements:
411
+ - - ">="
412
+ - !ruby/object:Gem::Version
413
+ version: '0'
414
+ type: :development
415
+ prerelease: false
416
+ version_requirements: !ruby/object:Gem::Requirement
417
+ requirements:
418
+ - - ">="
419
+ - !ruby/object:Gem::Version
420
+ version: '0'
421
+ - !ruby/object:Gem::Dependency
422
+ name: sentry-rails
423
+ requirement: !ruby/object:Gem::Requirement
424
+ requirements:
425
+ - - ">"
426
+ - !ruby/object:Gem::Version
427
+ version: 5.2.0
428
+ type: :development
429
+ prerelease: false
430
+ version_requirements: !ruby/object:Gem::Requirement
431
+ requirements:
432
+ - - ">"
433
+ - !ruby/object:Gem::Version
434
+ version: 5.2.0
435
+ - !ruby/object:Gem::Dependency
436
+ name: opentelemetry-sdk
437
+ requirement: !ruby/object:Gem::Requirement
438
+ requirements:
439
+ - - ">="
440
+ - !ruby/object:Gem::Version
441
+ version: '0'
442
+ type: :development
443
+ prerelease: false
444
+ version_requirements: !ruby/object:Gem::Requirement
445
+ requirements:
446
+ - - ">="
447
+ - !ruby/object:Gem::Version
448
+ version: '0'
449
+ - !ruby/object:Gem::Dependency
450
+ name: opentelemetry-api
451
+ requirement: !ruby/object:Gem::Requirement
452
+ requirements:
453
+ - - ">="
454
+ - !ruby/object:Gem::Version
455
+ version: 0.17.0
456
+ type: :development
457
+ prerelease: false
458
+ version_requirements: !ruby/object:Gem::Requirement
459
+ requirements:
460
+ - - ">="
461
+ - !ruby/object:Gem::Version
462
+ version: 0.17.0
463
+ - !ruby/object:Gem::Dependency
464
+ name: opentelemetry-common
465
+ requirement: !ruby/object:Gem::Requirement
466
+ requirements:
467
+ - - ">="
468
+ - !ruby/object:Gem::Version
469
+ version: 0.17.0
470
+ type: :development
471
+ prerelease: false
472
+ version_requirements: !ruby/object:Gem::Requirement
473
+ requirements:
474
+ - - ">="
475
+ - !ruby/object:Gem::Version
476
+ version: 0.17.0
477
+ - !ruby/object:Gem::Dependency
478
+ name: opentelemetry-instrumentation-base
479
+ requirement: !ruby/object:Gem::Requirement
480
+ requirements:
481
+ - - ">="
482
+ - !ruby/object:Gem::Version
483
+ version: 0.17.0
484
+ type: :development
485
+ prerelease: false
486
+ version_requirements: !ruby/object:Gem::Requirement
487
+ requirements:
488
+ - - ">="
489
+ - !ruby/object:Gem::Version
490
+ version: 0.17.0
491
+ description: A service that uses a relational database inserts messages/events into
492
+ an outbox table as part of the local transaction.
493
+ email:
494
+ - mikhail.merkushin@sbermarket.ru
495
+ executables:
496
+ - outbox
497
+ extensions: []
498
+ extra_rdoc_files: []
499
+ files:
500
+ - README.md
501
+ - Rakefile
502
+ - app/interactors/sbmt/outbox/base_create_item.rb
503
+ - app/interactors/sbmt/outbox/create_inbox_item.rb
504
+ - app/interactors/sbmt/outbox/create_outbox_item.rb
505
+ - app/interactors/sbmt/outbox/dry_interactor.rb
506
+ - app/interactors/sbmt/outbox/partition_strategies/hash_partitioning.rb
507
+ - app/interactors/sbmt/outbox/partition_strategies/number_partitioning.rb
508
+ - app/interactors/sbmt/outbox/process_item.rb
509
+ - app/interactors/sbmt/outbox/retry_strategies/compacted_log.rb
510
+ - app/interactors/sbmt/outbox/retry_strategies/exponential_backoff.rb
511
+ - app/jobs/sbmt/outbox/base_delete_stale_items_job.rb
512
+ - app/jobs/sbmt/outbox/delete_stale_inbox_items_job.rb
513
+ - app/jobs/sbmt/outbox/delete_stale_outbox_items_job.rb
514
+ - app/models/sbmt/outbox/base_item.rb
515
+ - app/models/sbmt/outbox/base_item_config.rb
516
+ - app/models/sbmt/outbox/inbox_item.rb
517
+ - app/models/sbmt/outbox/inbox_item_config.rb
518
+ - app/models/sbmt/outbox/outbox_item.rb
519
+ - app/models/sbmt/outbox/outbox_item_config.rb
520
+ - config/initializers/schked.rb
521
+ - config/initializers/yabeda.rb
522
+ - config/schedule.rb
523
+ - exe/outbox
524
+ - lib/generators/helpers.rb
525
+ - lib/generators/helpers/config.rb
526
+ - lib/generators/helpers/initializer.rb
527
+ - lib/generators/helpers/items.rb
528
+ - lib/generators/helpers/migration.rb
529
+ - lib/generators/helpers/paas.rb
530
+ - lib/generators/helpers/values.rb
531
+ - lib/generators/outbox.rb
532
+ - lib/generators/outbox/install/USAGE
533
+ - lib/generators/outbox/install/install_generator.rb
534
+ - lib/generators/outbox/install/templates/Outboxfile
535
+ - lib/generators/outbox/install/templates/outbox.rb
536
+ - lib/generators/outbox/install/templates/outbox.yml
537
+ - lib/generators/outbox/item/USAGE
538
+ - lib/generators/outbox/item/item_generator.rb
539
+ - lib/generators/outbox/item/templates/inbox_item.rb.tt
540
+ - lib/generators/outbox/item/templates/outbox_item.rb.tt
541
+ - lib/generators/outbox/transport/USAGE
542
+ - lib/generators/outbox/transport/templates/inbox_transport.yml.erb
543
+ - lib/generators/outbox/transport/templates/outbox_transport.yml.erb
544
+ - lib/generators/outbox/transport/transport_generator.rb
545
+ - lib/sbmt-outbox.rb
546
+ - lib/sbmt/outbox.rb
547
+ - lib/sbmt/outbox/ascii_art.rb
548
+ - lib/sbmt/outbox/cli.rb
549
+ - lib/sbmt/outbox/database_switcher.rb
550
+ - lib/sbmt/outbox/engine.rb
551
+ - lib/sbmt/outbox/error_tracker.rb
552
+ - lib/sbmt/outbox/errors.rb
553
+ - lib/sbmt/outbox/instrumentation/open_telemetry_loader.rb
554
+ - lib/sbmt/outbox/logger.rb
555
+ - lib/sbmt/outbox/middleware/builder.rb
556
+ - lib/sbmt/outbox/middleware/open_telemetry/tracing_create_item_middleware.rb
557
+ - lib/sbmt/outbox/middleware/open_telemetry/tracing_item_process_middleware.rb
558
+ - lib/sbmt/outbox/middleware/runner.rb
559
+ - lib/sbmt/outbox/middleware/sentry/tracing_batch_process_middleware.rb
560
+ - lib/sbmt/outbox/middleware/sentry/tracing_item_process_middleware.rb
561
+ - lib/sbmt/outbox/middleware/sentry/transaction.rb
562
+ - lib/sbmt/outbox/probes/probe.rb
563
+ - lib/sbmt/outbox/redis_client_factory.rb
564
+ - lib/sbmt/outbox/tasks/delete_failed_items.rake
565
+ - lib/sbmt/outbox/tasks/retry_failed_items.rake
566
+ - lib/sbmt/outbox/thread_pool.rb
567
+ - lib/sbmt/outbox/throttler.rb
568
+ - lib/sbmt/outbox/version.rb
569
+ - lib/sbmt/outbox/worker.rb
570
+ homepage: https://github.com/SberMarket-Tech/sbmt-outbox
571
+ licenses:
572
+ - MIT
573
+ metadata:
574
+ allowed_push_host: https://rubygems.org
575
+ post_install_message:
576
+ rdoc_options: []
577
+ require_paths:
578
+ - lib
579
+ required_ruby_version: !ruby/object:Gem::Requirement
580
+ requirements:
581
+ - - ">="
582
+ - !ruby/object:Gem::Version
583
+ version: '2.7'
584
+ required_rubygems_version: !ruby/object:Gem::Requirement
585
+ requirements:
586
+ - - ">="
587
+ - !ruby/object:Gem::Version
588
+ version: '0'
589
+ requirements: []
590
+ rubygems_version: 3.4.10
591
+ signing_key:
592
+ specification_version: 4
593
+ summary: Outbox service
594
+ test_files: []