karafka 2.4.15 → 2.4.17

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 (264) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/.github/workflows/ci.yml +5 -5
  4. data/.ruby-version +1 -1
  5. data/CHANGELOG.md +15 -0
  6. data/Gemfile +1 -0
  7. data/Gemfile.lock +17 -14
  8. data/LICENSE +7 -2
  9. data/config/locales/errors.yml +1 -0
  10. data/docker-compose.yml +0 -2
  11. data/lib/karafka/base_consumer.rb +70 -16
  12. data/lib/karafka/connection/client.rb +2 -16
  13. data/lib/karafka/connection/rebalance_manager.rb +24 -13
  14. data/lib/karafka/instrumentation/logger_listener.rb +3 -0
  15. data/lib/karafka/instrumentation/notifications.rb +4 -0
  16. data/lib/karafka/instrumentation/vendors/datadog/logger_listener.rb +1 -26
  17. data/lib/karafka/pro/active_job/consumer.rb +2 -10
  18. data/lib/karafka/pro/active_job/dispatcher.rb +2 -10
  19. data/lib/karafka/pro/active_job/job_options_contract.rb +2 -10
  20. data/lib/karafka/pro/base_consumer.rb +2 -10
  21. data/lib/karafka/pro/cleaner/errors.rb +2 -10
  22. data/lib/karafka/pro/cleaner/messages/message.rb +14 -12
  23. data/lib/karafka/pro/cleaner/messages/messages.rb +2 -10
  24. data/lib/karafka/pro/cleaner/messages/metadata.rb +41 -0
  25. data/lib/karafka/pro/cleaner.rb +3 -10
  26. data/lib/karafka/pro/connection/manager.rb +2 -10
  27. data/lib/karafka/pro/connection/multiplexing/listener.rb +2 -10
  28. data/lib/karafka/pro/contracts/base.rb +2 -10
  29. data/lib/karafka/pro/contracts/server_cli_options.rb +2 -10
  30. data/lib/karafka/pro/encryption/cipher.rb +2 -10
  31. data/lib/karafka/pro/encryption/contracts/config.rb +2 -10
  32. data/lib/karafka/pro/encryption/errors.rb +2 -10
  33. data/lib/karafka/pro/encryption/messages/middleware.rb +2 -10
  34. data/lib/karafka/pro/encryption/messages/parser.rb +2 -10
  35. data/lib/karafka/pro/encryption/setup/config.rb +2 -10
  36. data/lib/karafka/pro/encryption.rb +2 -10
  37. data/lib/karafka/pro/instrumentation/performance_tracker.rb +2 -10
  38. data/lib/karafka/pro/iterator/expander.rb +2 -10
  39. data/lib/karafka/pro/iterator/tpl_builder.rb +2 -10
  40. data/lib/karafka/pro/iterator.rb +2 -10
  41. data/lib/karafka/pro/loader.rb +2 -10
  42. data/lib/karafka/pro/processing/adaptive_iterator/consumer.rb +2 -10
  43. data/lib/karafka/pro/processing/adaptive_iterator/tracker.rb +2 -10
  44. data/lib/karafka/pro/processing/collapser.rb +2 -10
  45. data/lib/karafka/pro/processing/coordinator.rb +2 -10
  46. data/lib/karafka/pro/processing/coordinators/errors_tracker.rb +2 -10
  47. data/lib/karafka/pro/processing/coordinators/filters_applier.rb +2 -10
  48. data/lib/karafka/pro/processing/coordinators/virtual_offset_manager.rb +2 -10
  49. data/lib/karafka/pro/processing/executor.rb +2 -10
  50. data/lib/karafka/pro/processing/expansions_selector.rb +2 -10
  51. data/lib/karafka/pro/processing/filters/base.rb +2 -10
  52. data/lib/karafka/pro/processing/filters/delayer.rb +2 -10
  53. data/lib/karafka/pro/processing/filters/expirer.rb +2 -10
  54. data/lib/karafka/pro/processing/filters/inline_insights_delayer.rb +2 -10
  55. data/lib/karafka/pro/processing/filters/throttler.rb +2 -10
  56. data/lib/karafka/pro/processing/filters/virtual_limiter.rb +2 -10
  57. data/lib/karafka/pro/processing/jobs/consume_non_blocking.rb +4 -10
  58. data/lib/karafka/pro/processing/jobs/eofed_non_blocking.rb +4 -10
  59. data/lib/karafka/pro/processing/jobs/periodic.rb +4 -10
  60. data/lib/karafka/pro/processing/jobs/periodic_non_blocking.rb +4 -10
  61. data/lib/karafka/pro/processing/jobs/revoked_non_blocking.rb +4 -10
  62. data/lib/karafka/pro/processing/jobs_builder.rb +2 -10
  63. data/lib/karafka/pro/processing/jobs_queue.rb +2 -10
  64. data/lib/karafka/pro/processing/offset_metadata/consumer.rb +2 -10
  65. data/lib/karafka/pro/processing/offset_metadata/fetcher.rb +2 -10
  66. data/lib/karafka/pro/processing/offset_metadata/listener.rb +2 -10
  67. data/lib/karafka/pro/processing/partitioner.rb +2 -10
  68. data/lib/karafka/pro/processing/periodic_job/consumer.rb +2 -10
  69. data/lib/karafka/pro/processing/piping/consumer.rb +2 -10
  70. data/lib/karafka/pro/processing/schedulers/base.rb +2 -10
  71. data/lib/karafka/pro/processing/schedulers/default.rb +2 -10
  72. data/lib/karafka/pro/processing/strategies/aj/dlq_ftr_lrj_mom.rb +3 -11
  73. data/lib/karafka/pro/processing/strategies/aj/dlq_ftr_lrj_mom_vp.rb +3 -11
  74. data/lib/karafka/pro/processing/strategies/aj/dlq_ftr_mom.rb +2 -10
  75. data/lib/karafka/pro/processing/strategies/aj/dlq_ftr_mom_vp.rb +2 -10
  76. data/lib/karafka/pro/processing/strategies/aj/dlq_lrj_mom.rb +3 -11
  77. data/lib/karafka/pro/processing/strategies/aj/dlq_lrj_mom_vp.rb +3 -11
  78. data/lib/karafka/pro/processing/strategies/aj/dlq_mom.rb +2 -10
  79. data/lib/karafka/pro/processing/strategies/aj/dlq_mom_vp.rb +2 -10
  80. data/lib/karafka/pro/processing/strategies/aj/ftr_lrj_mom.rb +2 -10
  81. data/lib/karafka/pro/processing/strategies/aj/ftr_lrj_mom_vp.rb +3 -11
  82. data/lib/karafka/pro/processing/strategies/aj/ftr_mom.rb +2 -10
  83. data/lib/karafka/pro/processing/strategies/aj/ftr_mom_vp.rb +2 -10
  84. data/lib/karafka/pro/processing/strategies/aj/lrj_mom.rb +2 -10
  85. data/lib/karafka/pro/processing/strategies/aj/lrj_mom_vp.rb +5 -13
  86. data/lib/karafka/pro/processing/strategies/aj/mom.rb +2 -10
  87. data/lib/karafka/pro/processing/strategies/aj/mom_vp.rb +2 -10
  88. data/lib/karafka/pro/processing/strategies/base.rb +2 -10
  89. data/lib/karafka/pro/processing/strategies/default.rb +135 -77
  90. data/lib/karafka/pro/processing/strategies/dlq/default.rb +6 -14
  91. data/lib/karafka/pro/processing/strategies/dlq/ftr.rb +2 -10
  92. data/lib/karafka/pro/processing/strategies/dlq/ftr_lrj.rb +3 -11
  93. data/lib/karafka/pro/processing/strategies/dlq/ftr_lrj_mom.rb +3 -11
  94. data/lib/karafka/pro/processing/strategies/dlq/ftr_lrj_mom_vp.rb +2 -10
  95. data/lib/karafka/pro/processing/strategies/dlq/ftr_lrj_vp.rb +2 -10
  96. data/lib/karafka/pro/processing/strategies/dlq/ftr_mom.rb +3 -11
  97. data/lib/karafka/pro/processing/strategies/dlq/ftr_mom_vp.rb +2 -10
  98. data/lib/karafka/pro/processing/strategies/dlq/ftr_vp.rb +2 -10
  99. data/lib/karafka/pro/processing/strategies/dlq/lrj.rb +3 -11
  100. data/lib/karafka/pro/processing/strategies/dlq/lrj_mom.rb +3 -11
  101. data/lib/karafka/pro/processing/strategies/dlq/lrj_mom_vp.rb +2 -10
  102. data/lib/karafka/pro/processing/strategies/dlq/lrj_vp.rb +2 -10
  103. data/lib/karafka/pro/processing/strategies/dlq/mom.rb +3 -11
  104. data/lib/karafka/pro/processing/strategies/dlq/mom_vp.rb +2 -10
  105. data/lib/karafka/pro/processing/strategies/dlq/vp.rb +2 -10
  106. data/lib/karafka/pro/processing/strategies/ftr/default.rb +4 -12
  107. data/lib/karafka/pro/processing/strategies/ftr/vp.rb +2 -10
  108. data/lib/karafka/pro/processing/strategies/lrj/default.rb +5 -13
  109. data/lib/karafka/pro/processing/strategies/lrj/ftr.rb +3 -11
  110. data/lib/karafka/pro/processing/strategies/lrj/ftr_mom.rb +2 -10
  111. data/lib/karafka/pro/processing/strategies/lrj/ftr_mom_vp.rb +2 -10
  112. data/lib/karafka/pro/processing/strategies/lrj/ftr_vp.rb +2 -10
  113. data/lib/karafka/pro/processing/strategies/lrj/mom.rb +4 -12
  114. data/lib/karafka/pro/processing/strategies/lrj/mom_vp.rb +2 -10
  115. data/lib/karafka/pro/processing/strategies/lrj/vp.rb +2 -10
  116. data/lib/karafka/pro/processing/strategies/mom/default.rb +2 -10
  117. data/lib/karafka/pro/processing/strategies/mom/ftr.rb +2 -10
  118. data/lib/karafka/pro/processing/strategies/mom/ftr_vp.rb +2 -10
  119. data/lib/karafka/pro/processing/strategies/mom/vp.rb +2 -10
  120. data/lib/karafka/pro/processing/strategies/vp/default.rb +5 -10
  121. data/lib/karafka/pro/processing/strategies.rb +2 -10
  122. data/lib/karafka/pro/processing/strategy_selector.rb +2 -10
  123. data/lib/karafka/pro/processing/subscription_groups_coordinator.rb +2 -10
  124. data/lib/karafka/pro/recurring_tasks/consumer.rb +2 -10
  125. data/lib/karafka/pro/recurring_tasks/contracts/config.rb +2 -10
  126. data/lib/karafka/pro/recurring_tasks/contracts/task.rb +2 -10
  127. data/lib/karafka/pro/recurring_tasks/deserializer.rb +2 -10
  128. data/lib/karafka/pro/recurring_tasks/dispatcher.rb +2 -10
  129. data/lib/karafka/pro/recurring_tasks/errors.rb +2 -10
  130. data/lib/karafka/pro/recurring_tasks/executor.rb +2 -10
  131. data/lib/karafka/pro/recurring_tasks/listener.rb +2 -10
  132. data/lib/karafka/pro/recurring_tasks/matcher.rb +2 -10
  133. data/lib/karafka/pro/recurring_tasks/schedule.rb +2 -10
  134. data/lib/karafka/pro/recurring_tasks/serializer.rb +2 -10
  135. data/lib/karafka/pro/recurring_tasks/setup/config.rb +2 -10
  136. data/lib/karafka/pro/recurring_tasks/task.rb +2 -10
  137. data/lib/karafka/pro/recurring_tasks.rb +2 -10
  138. data/lib/karafka/pro/routing/features/active_job/builder.rb +2 -10
  139. data/lib/karafka/pro/routing/features/active_job.rb +2 -10
  140. data/lib/karafka/pro/routing/features/adaptive_iterator/config.rb +2 -10
  141. data/lib/karafka/pro/routing/features/adaptive_iterator/contracts/topic.rb +2 -10
  142. data/lib/karafka/pro/routing/features/adaptive_iterator/topic.rb +2 -10
  143. data/lib/karafka/pro/routing/features/adaptive_iterator.rb +2 -10
  144. data/lib/karafka/pro/routing/features/base.rb +2 -10
  145. data/lib/karafka/pro/routing/features/dead_letter_queue/contracts/topic.rb +2 -10
  146. data/lib/karafka/pro/routing/features/dead_letter_queue/topic.rb +2 -10
  147. data/lib/karafka/pro/routing/features/dead_letter_queue.rb +2 -10
  148. data/lib/karafka/pro/routing/features/delaying/config.rb +2 -10
  149. data/lib/karafka/pro/routing/features/delaying/contracts/topic.rb +2 -10
  150. data/lib/karafka/pro/routing/features/delaying/topic.rb +2 -10
  151. data/lib/karafka/pro/routing/features/delaying.rb +2 -10
  152. data/lib/karafka/pro/routing/features/direct_assignments/config.rb +2 -10
  153. data/lib/karafka/pro/routing/features/direct_assignments/contracts/consumer_group.rb +2 -10
  154. data/lib/karafka/pro/routing/features/direct_assignments/contracts/topic.rb +2 -10
  155. data/lib/karafka/pro/routing/features/direct_assignments/subscription_group.rb +2 -10
  156. data/lib/karafka/pro/routing/features/direct_assignments/topic.rb +2 -10
  157. data/lib/karafka/pro/routing/features/direct_assignments.rb +2 -10
  158. data/lib/karafka/pro/routing/features/expiring/config.rb +2 -10
  159. data/lib/karafka/pro/routing/features/expiring/contracts/topic.rb +2 -10
  160. data/lib/karafka/pro/routing/features/expiring/topic.rb +2 -10
  161. data/lib/karafka/pro/routing/features/expiring.rb +2 -10
  162. data/lib/karafka/pro/routing/features/filtering/config.rb +2 -10
  163. data/lib/karafka/pro/routing/features/filtering/contracts/topic.rb +2 -10
  164. data/lib/karafka/pro/routing/features/filtering/topic.rb +2 -10
  165. data/lib/karafka/pro/routing/features/filtering.rb +2 -10
  166. data/lib/karafka/pro/routing/features/inline_insights/config.rb +2 -10
  167. data/lib/karafka/pro/routing/features/inline_insights/contracts/topic.rb +2 -10
  168. data/lib/karafka/pro/routing/features/inline_insights/topic.rb +2 -10
  169. data/lib/karafka/pro/routing/features/inline_insights.rb +2 -10
  170. data/lib/karafka/pro/routing/features/long_running_job/config.rb +2 -10
  171. data/lib/karafka/pro/routing/features/long_running_job/contracts/topic.rb +2 -10
  172. data/lib/karafka/pro/routing/features/long_running_job/topic.rb +2 -10
  173. data/lib/karafka/pro/routing/features/long_running_job.rb +2 -10
  174. data/lib/karafka/pro/routing/features/multiplexing/config.rb +2 -10
  175. data/lib/karafka/pro/routing/features/multiplexing/contracts/topic.rb +2 -10
  176. data/lib/karafka/pro/routing/features/multiplexing/patches/contracts/consumer_group.rb +2 -10
  177. data/lib/karafka/pro/routing/features/multiplexing/proxy.rb +2 -10
  178. data/lib/karafka/pro/routing/features/multiplexing/subscription_group.rb +2 -10
  179. data/lib/karafka/pro/routing/features/multiplexing/subscription_groups_builder.rb +2 -10
  180. data/lib/karafka/pro/routing/features/multiplexing.rb +2 -10
  181. data/lib/karafka/pro/routing/features/non_blocking_job/topic.rb +2 -10
  182. data/lib/karafka/pro/routing/features/non_blocking_job.rb +2 -10
  183. data/lib/karafka/pro/routing/features/offset_metadata/config.rb +2 -10
  184. data/lib/karafka/pro/routing/features/offset_metadata/contracts/topic.rb +2 -10
  185. data/lib/karafka/pro/routing/features/offset_metadata/topic.rb +2 -10
  186. data/lib/karafka/pro/routing/features/offset_metadata.rb +2 -10
  187. data/lib/karafka/pro/routing/features/patterns/builder.rb +2 -10
  188. data/lib/karafka/pro/routing/features/patterns/config.rb +2 -10
  189. data/lib/karafka/pro/routing/features/patterns/consumer_group.rb +2 -10
  190. data/lib/karafka/pro/routing/features/patterns/contracts/consumer_group.rb +2 -10
  191. data/lib/karafka/pro/routing/features/patterns/contracts/pattern.rb +2 -10
  192. data/lib/karafka/pro/routing/features/patterns/contracts/topic.rb +2 -10
  193. data/lib/karafka/pro/routing/features/patterns/detector.rb +2 -10
  194. data/lib/karafka/pro/routing/features/patterns/pattern.rb +2 -10
  195. data/lib/karafka/pro/routing/features/patterns/patterns.rb +2 -10
  196. data/lib/karafka/pro/routing/features/patterns/topic.rb +2 -10
  197. data/lib/karafka/pro/routing/features/patterns/topics.rb +2 -10
  198. data/lib/karafka/pro/routing/features/patterns.rb +2 -10
  199. data/lib/karafka/pro/routing/features/pausing/contracts/topic.rb +2 -10
  200. data/lib/karafka/pro/routing/features/pausing/topic.rb +2 -10
  201. data/lib/karafka/pro/routing/features/pausing.rb +2 -10
  202. data/lib/karafka/pro/routing/features/periodic_job/config.rb +2 -10
  203. data/lib/karafka/pro/routing/features/periodic_job/contracts/topic.rb +2 -10
  204. data/lib/karafka/pro/routing/features/periodic_job/topic.rb +2 -10
  205. data/lib/karafka/pro/routing/features/periodic_job.rb +2 -10
  206. data/lib/karafka/pro/routing/features/recurring_tasks/builder.rb +2 -10
  207. data/lib/karafka/pro/routing/features/recurring_tasks/config.rb +2 -10
  208. data/lib/karafka/pro/routing/features/recurring_tasks/contracts/topic.rb +2 -10
  209. data/lib/karafka/pro/routing/features/recurring_tasks/proxy.rb +2 -10
  210. data/lib/karafka/pro/routing/features/recurring_tasks/topic.rb +2 -10
  211. data/lib/karafka/pro/routing/features/recurring_tasks.rb +2 -10
  212. data/lib/karafka/pro/routing/features/scheduled_messages/builder.rb +2 -10
  213. data/lib/karafka/pro/routing/features/scheduled_messages/config.rb +2 -10
  214. data/lib/karafka/pro/routing/features/scheduled_messages/contracts/topic.rb +2 -10
  215. data/lib/karafka/pro/routing/features/scheduled_messages/proxy.rb +2 -10
  216. data/lib/karafka/pro/routing/features/scheduled_messages/topic.rb +2 -10
  217. data/lib/karafka/pro/routing/features/scheduled_messages.rb +2 -10
  218. data/lib/karafka/pro/routing/features/swarm/config.rb +2 -10
  219. data/lib/karafka/pro/routing/features/swarm/contracts/routing.rb +2 -10
  220. data/lib/karafka/pro/routing/features/swarm/contracts/topic.rb +2 -10
  221. data/lib/karafka/pro/routing/features/swarm/topic.rb +2 -10
  222. data/lib/karafka/pro/routing/features/swarm.rb +2 -10
  223. data/lib/karafka/pro/routing/features/throttling/config.rb +2 -10
  224. data/lib/karafka/pro/routing/features/throttling/contracts/topic.rb +2 -10
  225. data/lib/karafka/pro/routing/features/throttling/topic.rb +2 -10
  226. data/lib/karafka/pro/routing/features/throttling.rb +2 -10
  227. data/lib/karafka/pro/routing/features/virtual_partitions/config.rb +2 -10
  228. data/lib/karafka/pro/routing/features/virtual_partitions/contracts/topic.rb +2 -10
  229. data/lib/karafka/pro/routing/features/virtual_partitions/topic.rb +2 -10
  230. data/lib/karafka/pro/routing/features/virtual_partitions.rb +2 -10
  231. data/lib/karafka/pro/scheduled_messages/consumer.rb +2 -10
  232. data/lib/karafka/pro/scheduled_messages/contracts/config.rb +2 -10
  233. data/lib/karafka/pro/scheduled_messages/contracts/message.rb +2 -10
  234. data/lib/karafka/pro/scheduled_messages/daily_buffer.rb +2 -10
  235. data/lib/karafka/pro/scheduled_messages/day.rb +2 -10
  236. data/lib/karafka/pro/scheduled_messages/deserializers/headers.rb +2 -10
  237. data/lib/karafka/pro/scheduled_messages/deserializers/payload.rb +2 -10
  238. data/lib/karafka/pro/scheduled_messages/dispatcher.rb +2 -10
  239. data/lib/karafka/pro/scheduled_messages/errors.rb +2 -10
  240. data/lib/karafka/pro/scheduled_messages/max_epoch.rb +2 -10
  241. data/lib/karafka/pro/scheduled_messages/proxy.rb +2 -10
  242. data/lib/karafka/pro/scheduled_messages/schema_validator.rb +2 -10
  243. data/lib/karafka/pro/scheduled_messages/serializer.rb +2 -10
  244. data/lib/karafka/pro/scheduled_messages/setup/config.rb +2 -10
  245. data/lib/karafka/pro/scheduled_messages/state.rb +2 -10
  246. data/lib/karafka/pro/scheduled_messages/tracker.rb +2 -10
  247. data/lib/karafka/pro/scheduled_messages.rb +2 -10
  248. data/lib/karafka/pro/swarm/liveness_listener.rb +2 -10
  249. data/lib/karafka/processing/executor.rb +7 -0
  250. data/lib/karafka/processing/jobs/base.rb +13 -0
  251. data/lib/karafka/processing/jobs/consume.rb +2 -0
  252. data/lib/karafka/processing/jobs/eofed.rb +2 -0
  253. data/lib/karafka/processing/jobs/idle.rb +2 -0
  254. data/lib/karafka/processing/jobs/revoked.rb +2 -0
  255. data/lib/karafka/processing/jobs/shutdown.rb +2 -0
  256. data/lib/karafka/processing/strategies/aj_dlq_mom.rb +1 -1
  257. data/lib/karafka/processing/strategies/default.rb +28 -17
  258. data/lib/karafka/processing/strategies/dlq.rb +4 -4
  259. data/lib/karafka/processing/strategies/dlq_mom.rb +2 -2
  260. data/lib/karafka/processing/worker.rb +21 -18
  261. data/lib/karafka/version.rb +1 -1
  262. data.tar.gz.sig +0 -0
  263. metadata +4 -6
  264. metadata.gz.sig +0 -0
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -81,6 +81,13 @@ module Karafka
81
81
  consumer.on_before_consume
82
82
  end
83
83
 
84
+ # Runs the wrap/around execution context appropriate for a given action
85
+ # @param action [Symbol] action execution wrapped with our block
86
+ # @param block [Proc] execution context
87
+ def wrap(action, &block)
88
+ consumer.on_wrap(action, &block)
89
+ end
90
+
84
91
  # Runs consumer data processing against given batch and handles failures and errors.
85
92
  def consume
86
93
  # We run the consumer client logic...
@@ -15,6 +15,11 @@ module Karafka
15
15
 
16
16
  attr_reader :executor
17
17
 
18
+ class << self
19
+ # @return [Symbol] Job matching appropriate action
20
+ attr_accessor :action
21
+ end
22
+
18
23
  # Creates a new job instance
19
24
  def initialize
20
25
  # All jobs are blocking by default and they can release the lock when blocking operations
@@ -23,6 +28,14 @@ module Karafka
23
28
  @status = :pending
24
29
  end
25
30
 
31
+ # Runs the wrap/around job hook within which the rest of the flow happens
32
+ # @param block [Proc] whole user related processing flow
33
+ # @note We inject the action name so user can decide whether to run custom logic on a
34
+ # given action or not.
35
+ def wrap(&block)
36
+ executor.wrap(self.class.action, &block)
37
+ end
38
+
26
39
  # When redefined can run any code prior to the job being scheduled
27
40
  # @note This will run in the listener thread and not in the worker
28
41
  def before_schedule
@@ -9,6 +9,8 @@ module Karafka
9
9
  # @return [Array<Rdkafka::Consumer::Message>] array with messages
10
10
  attr_reader :messages
11
11
 
12
+ self.action = :consume
13
+
12
14
  # @param executor [Karafka::Processing::Executor] executor that is suppose to run a given
13
15
  # job
14
16
  # @param messages [Karafka::Messages::Messages] karafka messages batch
@@ -5,6 +5,8 @@ module Karafka
5
5
  module Jobs
6
6
  # Job that runs the eofed operation when we receive eof without messages alongside.
7
7
  class Eofed < Base
8
+ self.action = :eofed
9
+
8
10
  # @param executor [Karafka::Processing::Executor] executor that is suppose to run the job
9
11
  # @return [Eofed]
10
12
  def initialize(executor)
@@ -6,6 +6,8 @@ module Karafka
6
6
  # Type of job that we may use to run some extra handling that happens without the user
7
7
  # related lifecycle event like consumption, revocation, etc.
8
8
  class Idle < Base
9
+ self.action = :idle
10
+
9
11
  # @param executor [Karafka::Processing::Executor] executor that is suppose to run a given
10
12
  # job on an active consumer
11
13
  # @return [Shutdown]
@@ -5,6 +5,8 @@ module Karafka
5
5
  module Jobs
6
6
  # Job that runs the revoked operation when we loose a partition on a consumer that lost it.
7
7
  class Revoked < Base
8
+ self.action = :revoked
9
+
8
10
  # @param executor [Karafka::Processing::Executor] executor that is suppose to run the job
9
11
  # @return [Revoked]
10
12
  def initialize(executor)
@@ -5,6 +5,8 @@ module Karafka
5
5
  module Jobs
6
6
  # Job that runs on each active consumer upon process shutdown (one job per consumer).
7
7
  class Shutdown < Base
8
+ self.action = :shutdown
9
+
8
10
  # @param executor [Karafka::Processing::Executor] executor that is suppose to run a given
9
11
  # job on an active consumer
10
12
  # @return [Shutdown]
@@ -35,7 +35,7 @@ module Karafka
35
35
  # since AJ consumer commits the offset after each job, we also know that the
36
36
  # previous job was successful
37
37
  mark_dispatched_to_dlq(skippable_message)
38
- pause(coordinator.seek_offset, nil, false)
38
+ pause(seek_offset, nil, false)
39
39
  end
40
40
  end
41
41
  end