karafka 1.2.11 → 1.3.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +3 -0
- data/{.coditsu.yml → .coditsu/ci.yml} +1 -1
- data/.console_irbrc +1 -3
- data/.github/FUNDING.yml +3 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +50 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.gitignore +1 -0
- data/.ruby-version +1 -1
- data/.travis.yml +8 -21
- data/CHANGELOG.md +86 -14
- data/CONTRIBUTING.md +1 -1
- data/Gemfile +2 -5
- data/Gemfile.lock +76 -61
- data/README.md +10 -11
- data/bin/karafka +1 -1
- data/certs/mensfeld.pem +25 -0
- data/config/errors.yml +38 -5
- data/karafka.gemspec +14 -12
- data/lib/karafka.rb +7 -15
- data/lib/karafka/app.rb +14 -6
- data/lib/karafka/attributes_map.rb +4 -5
- data/lib/karafka/base_consumer.rb +19 -30
- data/lib/karafka/base_responder.rb +45 -27
- data/lib/karafka/cli.rb +1 -1
- data/lib/karafka/cli/console.rb +11 -9
- data/lib/karafka/cli/flow.rb +0 -1
- data/lib/karafka/cli/info.rb +3 -1
- data/lib/karafka/cli/install.rb +30 -6
- data/lib/karafka/cli/server.rb +11 -6
- data/lib/karafka/code_reloader.rb +67 -0
- data/lib/karafka/connection/api_adapter.rb +11 -4
- data/lib/karafka/connection/batch_delegator.rb +51 -0
- data/lib/karafka/connection/builder.rb +1 -1
- data/lib/karafka/connection/client.rb +30 -20
- data/lib/karafka/connection/listener.rb +24 -13
- data/lib/karafka/connection/message_delegator.rb +36 -0
- data/lib/karafka/consumers/callbacks.rb +32 -15
- data/lib/karafka/consumers/includer.rb +30 -18
- data/lib/karafka/consumers/metadata.rb +10 -0
- data/lib/karafka/consumers/responders.rb +2 -2
- data/lib/karafka/contracts.rb +10 -0
- data/lib/karafka/contracts/config.rb +21 -0
- data/lib/karafka/contracts/consumer_group.rb +206 -0
- data/lib/karafka/contracts/consumer_group_topic.rb +19 -0
- data/lib/karafka/contracts/responder_usage.rb +54 -0
- data/lib/karafka/contracts/server_cli_options.rb +29 -0
- data/lib/karafka/errors.rb +17 -16
- data/lib/karafka/fetcher.rb +28 -30
- data/lib/karafka/helpers/class_matcher.rb +12 -2
- data/lib/karafka/helpers/config_retriever.rb +1 -1
- data/lib/karafka/helpers/inflector.rb +26 -0
- data/lib/karafka/helpers/multi_delegator.rb +0 -1
- data/lib/karafka/instrumentation/logger.rb +9 -6
- data/lib/karafka/instrumentation/monitor.rb +15 -9
- data/lib/karafka/instrumentation/proctitle_listener.rb +36 -0
- data/lib/karafka/instrumentation/stdout_listener.rb +138 -0
- data/lib/karafka/params/builders/metadata.rb +33 -0
- data/lib/karafka/params/builders/params.rb +36 -0
- data/lib/karafka/params/builders/params_batch.rb +25 -0
- data/lib/karafka/params/metadata.rb +35 -0
- data/lib/karafka/params/params.rb +68 -0
- data/lib/karafka/params/params_batch.rb +35 -20
- data/lib/karafka/patches/ruby_kafka.rb +21 -8
- data/lib/karafka/persistence/client.rb +15 -11
- data/lib/karafka/persistence/{consumer.rb → consumers.rb} +20 -13
- data/lib/karafka/persistence/topics.rb +48 -0
- data/lib/karafka/process.rb +0 -2
- data/lib/karafka/responders/builder.rb +1 -1
- data/lib/karafka/responders/topic.rb +6 -8
- data/lib/karafka/routing/builder.rb +36 -8
- data/lib/karafka/routing/consumer_group.rb +1 -1
- data/lib/karafka/routing/consumer_mapper.rb +9 -9
- data/lib/karafka/routing/proxy.rb +10 -1
- data/lib/karafka/routing/topic.rb +5 -3
- data/lib/karafka/routing/topic_mapper.rb +16 -18
- data/lib/karafka/serialization/json/deserializer.rb +27 -0
- data/lib/karafka/serialization/json/serializer.rb +31 -0
- data/lib/karafka/server.rb +25 -27
- data/lib/karafka/setup/config.rb +65 -37
- data/lib/karafka/setup/configurators/water_drop.rb +7 -3
- data/lib/karafka/setup/dsl.rb +0 -1
- data/lib/karafka/status.rb +7 -3
- data/lib/karafka/templates/{application_consumer.rb.example → application_consumer.rb.erb} +2 -1
- data/lib/karafka/templates/{application_responder.rb.example → application_responder.rb.erb} +0 -0
- data/lib/karafka/templates/karafka.rb.erb +92 -0
- data/lib/karafka/version.rb +1 -1
- metadata +90 -57
- metadata.gz.sig +0 -0
- data/lib/karafka/callbacks.rb +0 -30
- data/lib/karafka/callbacks/config.rb +0 -22
- data/lib/karafka/callbacks/dsl.rb +0 -16
- data/lib/karafka/connection/delegator.rb +0 -46
- data/lib/karafka/instrumentation/listener.rb +0 -112
- data/lib/karafka/loader.rb +0 -28
- data/lib/karafka/params/dsl.rb +0 -158
- data/lib/karafka/parsers/json.rb +0 -38
- data/lib/karafka/patches/dry_configurable.rb +0 -33
- data/lib/karafka/persistence/topic.rb +0 -29
- data/lib/karafka/schemas/config.rb +0 -24
- data/lib/karafka/schemas/consumer_group.rb +0 -78
- data/lib/karafka/schemas/consumer_group_topic.rb +0 -18
- data/lib/karafka/schemas/responder_usage.rb +0 -39
- data/lib/karafka/schemas/server_cli_options.rb +0 -43
- data/lib/karafka/setup/configurators/base.rb +0 -29
- data/lib/karafka/setup/configurators/params.rb +0 -25
- data/lib/karafka/templates/karafka.rb.example +0 -54
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a89f790b57a8908107363b346d17e09d9d013ad697f4c802203cb6bfe126b7e9
|
|
4
|
+
data.tar.gz: ee325ee157b1f23afc8235c144672c07584f0377068db2ede804c3cb2a8c9596
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 68b386d626998e78fe30c2bbed66794e76065947ff48b1b2dc904a70f329364c70fb9b80b1ff3a8e46b167d2e9bdacc1ff180bbd902235d0cb3eb74d0c4d8662
|
|
7
|
+
data.tar.gz: 946fc02d0ea56f30bea98947a2f47d950e1b88674abfe14bd1c3069460f375c059bd5cf537ea9a31bc5849abedfa62905b854206f780bd95847b995316defd15
|
checksums.yaml.gz.sig
ADDED
|
Binary file
|
data.tar.gz.sig
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
{�YF�i�0�s��
|
|
2
|
+
�YQ����D�L{�f�q~��x��wn�����;�x��!�5Z�2{q/��Xf��{\�g������:��14��OXn}a�!��܃Ύ�gnGl����t8.+�tO��E'���Hl�QAp�S����7�� t%�n��l�gT�(/�c��O��
|
|
3
|
+
A��Ͼ7jC����ξi�@�9k����%"v�a���u�f�@�*�ڒk+z�����\2����x��J;���k�����ɶ�9��0�����C>�Y�.���a�oV: �� ��s�R��B.Z�~��.KzH���j}>Vǽ��0�y0j7���-��EfFp
|
data/.console_irbrc
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
# irbrc for Karafka console
|
|
2
|
-
require 'karafka'
|
|
3
|
-
require Karafka.boot_file
|
|
4
2
|
|
|
5
3
|
IRB.conf[:AUTO_INDENT] = true
|
|
6
4
|
IRB.conf[:SAVE_HISTORY] = 1000
|
|
7
5
|
IRB.conf[:USE_READLINE] = true
|
|
8
|
-
IRB.conf[:HISTORY_FILE] = "
|
|
6
|
+
IRB.conf[:HISTORY_FILE] = ".irb-history"
|
|
9
7
|
IRB.conf[:LOAD_MODULES] = [] unless IRB.conf.key?(:LOAD_MODULES)
|
|
10
8
|
|
|
11
9
|
unless IRB.conf[:LOAD_MODULES].include?('irb/completion')
|
data/.github/FUNDING.yml
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug Report
|
|
3
|
+
about: Report an issue with Karafka you've discovered.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
*Be clear, concise and precise in your description of the problem.
|
|
7
|
+
Open an issue with a descriptive title and a summary in grammatically correct,
|
|
8
|
+
complete sentences.*
|
|
9
|
+
|
|
10
|
+
*Use the template below when reporting bugs. Please, make sure that
|
|
11
|
+
you're running the latest stable Karafka and that the problem you're reporting
|
|
12
|
+
hasn't been reported (and potentially fixed) already.*
|
|
13
|
+
|
|
14
|
+
*Before filing the ticket you should replace all text above the horizontal
|
|
15
|
+
rule with your own words.*
|
|
16
|
+
|
|
17
|
+
--------
|
|
18
|
+
|
|
19
|
+
## Expected behavior
|
|
20
|
+
|
|
21
|
+
Describe here how you expected Karafka to behave in this particular situation.
|
|
22
|
+
|
|
23
|
+
## Actual behavior
|
|
24
|
+
|
|
25
|
+
Describe here what actually happened.
|
|
26
|
+
|
|
27
|
+
## Steps to reproduce the problem
|
|
28
|
+
|
|
29
|
+
This is extremely important! Providing us with a reliable way to reproduce
|
|
30
|
+
a problem will expedite its solution.
|
|
31
|
+
|
|
32
|
+
## Your setup details
|
|
33
|
+
|
|
34
|
+
Please provide kafka version and the output of `karafka info` or `bundle exec karafka info` if using Bundler.
|
|
35
|
+
|
|
36
|
+
Here's an example:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
$ [bundle exec] karafka info
|
|
40
|
+
Karafka version: 1.3.0
|
|
41
|
+
Ruby version: 2.6.3
|
|
42
|
+
Ruby-kafka version: 0.7.9
|
|
43
|
+
Application client id: karafka-local
|
|
44
|
+
Backend: inline
|
|
45
|
+
Batch fetching: true
|
|
46
|
+
Batch consuming: true
|
|
47
|
+
Boot file: /app/karafka/karafka.rb
|
|
48
|
+
Environment: development
|
|
49
|
+
Kafka seed brokers: ["kafka://kafka:9092"]
|
|
50
|
+
```
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature Request
|
|
3
|
+
about: Suggest new Karafka features or improvements to existing features.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Is your feature request related to a problem? Please describe.
|
|
7
|
+
|
|
8
|
+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
|
9
|
+
|
|
10
|
+
## Describe the solution you'd like
|
|
11
|
+
|
|
12
|
+
A clear and concise description of what you want to happen.
|
|
13
|
+
|
|
14
|
+
## Describe alternatives you've considered
|
|
15
|
+
|
|
16
|
+
A clear and concise description of any alternative solutions or features you've considered.
|
|
17
|
+
|
|
18
|
+
## Additional context
|
|
19
|
+
|
|
20
|
+
Add any other context or screenshots about the feature request here.
|
data/.gitignore
CHANGED
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.7.0
|
data/.travis.yml
CHANGED
|
@@ -12,38 +12,25 @@ test: &test
|
|
|
12
12
|
stage: Test
|
|
13
13
|
language: ruby
|
|
14
14
|
before_install:
|
|
15
|
-
- gem
|
|
16
|
-
- gem update --system
|
|
15
|
+
- yes | gem update --system
|
|
17
16
|
script: bundle exec rspec
|
|
18
17
|
|
|
19
18
|
jobs:
|
|
20
19
|
include:
|
|
21
20
|
- <<: *test
|
|
22
|
-
rvm: 2.
|
|
21
|
+
rvm: 2.7.0
|
|
23
22
|
- <<: *test
|
|
24
|
-
rvm: 2.5
|
|
23
|
+
rvm: 2.6.5
|
|
25
24
|
- <<: *test
|
|
26
|
-
rvm: 2.
|
|
27
|
-
- <<: *test
|
|
28
|
-
rvm: 2.3.8
|
|
25
|
+
rvm: 2.5.7
|
|
29
26
|
|
|
30
27
|
- stage: coditsu
|
|
31
28
|
language: ruby
|
|
32
|
-
rvm: 2.
|
|
29
|
+
rvm: 2.7.0
|
|
33
30
|
before_install:
|
|
34
|
-
- gem update --system
|
|
35
|
-
|
|
36
|
-
before_script:
|
|
37
|
-
- docker create -v /sources --name sources alpine:3.4 /bin/true
|
|
38
|
-
- docker cp ./ sources:/sources
|
|
39
|
-
script: >
|
|
40
|
-
docker run
|
|
41
|
-
-e CODITSU_API_KEY
|
|
42
|
-
-e CODITSU_API_SECRET
|
|
43
|
-
-e CODITSU_REPOSITORY_ID
|
|
44
|
-
--volumes-from sources
|
|
45
|
-
coditsu/build-runner:latest
|
|
31
|
+
- yes | gem update --system
|
|
32
|
+
script: \curl -sSL https://api.coditsu.io/run/ci | bash
|
|
46
33
|
|
|
47
34
|
stages:
|
|
48
|
-
- coditsu
|
|
49
35
|
- test
|
|
36
|
+
- coditsu
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,74 @@
|
|
|
1
1
|
# Karafka framework changelog
|
|
2
2
|
|
|
3
|
+
## 1.3.2 (2019-12-23)
|
|
4
|
+
- #561 - Allow `thor` 1.0.x usage in Karafka
|
|
5
|
+
- #567 - Ruby 2.7.0 support + unfreeze of a frozen string fix
|
|
6
|
+
|
|
7
|
+
## 1.3.1 (2019-11-11)
|
|
8
|
+
- #545 - Makes sure the log directory exists when is possible (robertomiranda)
|
|
9
|
+
- Ruby 2.6.5 support
|
|
10
|
+
- #551 - add support for DSA keys
|
|
11
|
+
- #549 - Missing directories after `karafka install` (nijikon)
|
|
12
|
+
|
|
13
|
+
## 1.3.0 (2019-09-09)
|
|
14
|
+
- Drop support for Ruby 2.4
|
|
15
|
+
- YARD docs tags cleanup
|
|
16
|
+
|
|
17
|
+
## 1.3.0.rc1 (2019-07-31)
|
|
18
|
+
- Drop support for Kafka 0.10 in favor of native support for Kafka 0.11.
|
|
19
|
+
- Update ruby-kafka to the 0.7 version
|
|
20
|
+
- Support messages headers receiving
|
|
21
|
+
- Message bus unification
|
|
22
|
+
- Parser available in metadata
|
|
23
|
+
- Cleanup towards moving to a non-global state app management
|
|
24
|
+
- Drop Ruby 2.3 support
|
|
25
|
+
- Support for Ruby 2.6.3
|
|
26
|
+
- `Karafka::Loader` has been removed in favor of Zeitwerk
|
|
27
|
+
- Schemas are now contracts
|
|
28
|
+
- #393 - Reorganize responders - removed `multiple_usage` constrain
|
|
29
|
+
- #388 - ssl_client_cert_chain sync
|
|
30
|
+
- #300 - Store value in a value key and replace its content with parsed version - without root merge
|
|
31
|
+
- #331 - Disallow building groups without topics
|
|
32
|
+
- #340 - Instrumentation unification. Better and more consistent naming
|
|
33
|
+
- #340 - Procline instrumentation for a nicer process name
|
|
34
|
+
- #342 - Change default for `fetcher_max_queue_size` from `100` to `10` to lower max memory usage
|
|
35
|
+
- #345 - Cleanup exceptions names
|
|
36
|
+
- #341 - Split connection delegator into batch delegator and single_delegator
|
|
37
|
+
- #351 - Rename `#retrieve!` to `#parse!` on params and `#parsed` to `parse!` on params batch.
|
|
38
|
+
- #351 - Adds '#first' for params_batch that returns parsed first element from the params_batch object.
|
|
39
|
+
- #360 - Single params consuming mode automatically parses data specs
|
|
40
|
+
- #359 - Divide mark_as_consumed into mark_as_consumed and mark_as_consumed!
|
|
41
|
+
- #356 - Provide a `#values` for params_batch to extract only values of objects from the params_batch
|
|
42
|
+
- #363 - Too shallow ruby-kafka version lock
|
|
43
|
+
- #354 - Expose consumer heartbeat
|
|
44
|
+
- #377 - Remove the persistent setup in favor of persistence
|
|
45
|
+
- #375 - Sidekiq Backend parser mismatch
|
|
46
|
+
- #369 - Single consumer can support more than one topic
|
|
47
|
+
- #288 - Drop dependency on `activesupport` gem
|
|
48
|
+
- #371 - SASL over SSL
|
|
49
|
+
- #392 - Move params redundant data to metadata
|
|
50
|
+
- #335 - Metadata access from within the consumer
|
|
51
|
+
- #402 - Delayed reconnection upon critical failures
|
|
52
|
+
- #405 - `reconnect_timeout` value is now being validated
|
|
53
|
+
- #437 - Specs ensuring that the `#437` won't occur in the `1.3` release
|
|
54
|
+
- #426 - ssl client cert key password
|
|
55
|
+
- #444 - add certificate and private key validation
|
|
56
|
+
- #460 - Decouple responder "parser" (generator?) from topic.parser (benissimo)
|
|
57
|
+
- #463 - Split parsers into serializers / deserializers
|
|
58
|
+
- #473 - Support SASL OAuthBearer Authentication
|
|
59
|
+
- #475 - Disallow subscribing to the same topic with multiple consumers
|
|
60
|
+
- #485 - Setting shutdown_timeout to nil kills the app without waiting for anything
|
|
61
|
+
- #487 - Make listeners as instances
|
|
62
|
+
- #29 - Consumer class names must have the word "Consumer" in it in order to work (Sidekiq backend)
|
|
63
|
+
- #491 - irb is missing for console to work
|
|
64
|
+
- #502 - Karafka process hangs when sending multiple sigkills
|
|
65
|
+
- #506 - ssl_verify_hostname sync
|
|
66
|
+
- #483 - Upgrade dry-validation before releasing 1.3
|
|
67
|
+
- #492 - Use Zeitwerk for code reload in development
|
|
68
|
+
- #508 - Reset the consumers instances upon reconnecting to a cluster
|
|
69
|
+
- [#530](https://github.com/karafka/karafka/pull/530) - expose ruby and ruby-kafka version
|
|
70
|
+
- [534](https://github.com/karafka/karafka/pull/534) - Allow to use headers in the deserializer object
|
|
71
|
+
|
|
3
72
|
## 1.2.11
|
|
4
73
|
- [#470](https://github.com/karafka/karafka/issues/470) Karafka not working with dry-configurable 0.8
|
|
5
74
|
|
|
@@ -21,6 +90,7 @@
|
|
|
21
90
|
## 1.2.6
|
|
22
91
|
- Lock WaterDrop to 1.2.3
|
|
23
92
|
- Lock Ruby-Kafka to 0.6.x (support for 0.7 will be added in Karafka 1.3)
|
|
93
|
+
- #382 - Full logging with AR, etc for development mode when there is Rails integration
|
|
24
94
|
|
|
25
95
|
## 1.2.5
|
|
26
96
|
- #354 - Expose consumer heartbeat
|
|
@@ -31,10 +101,12 @@
|
|
|
31
101
|
|
|
32
102
|
## 1.2.3
|
|
33
103
|
- #313 - support PLAINTEXT and SSL for scheme
|
|
34
|
-
- #
|
|
104
|
+
- #288 - drop activesupport callbacks in favor of notifications
|
|
105
|
+
- #320 - Pausing indefinitely with nil pause timeout doesn't work
|
|
35
106
|
- #318 - Partition pausing doesn't work with custom topic mappers
|
|
36
107
|
- Rename ConfigAdapter to ApiAdapter to better reflect what it does
|
|
37
108
|
- #317 - Manual offset committing doesn't work with custom topic mappers
|
|
109
|
+
- #319 - Support for exponential backoff in pause
|
|
38
110
|
|
|
39
111
|
## 1.2.2
|
|
40
112
|
- #312 - Broken for ActiveSupport 5.2.0
|
|
@@ -159,7 +231,7 @@
|
|
|
159
231
|
- Switch to multi json so everyone can use their favourite JSON parser
|
|
160
232
|
- Added jruby support in general and in Travis
|
|
161
233
|
- #196 - Topic mapper does not map topics when subscribing thanks to @webandtech
|
|
162
|
-
- #96 - Karafka server -
|
|
234
|
+
- #96 - Karafka server - possibility to run it only for a certain topics
|
|
163
235
|
- ~~karafka worker cli option is removed (please use sidekiq directly)~~ - restored, bad idea
|
|
164
236
|
- (optional) pausing upon processing failures ```pause_timeout```
|
|
165
237
|
- Karafka console main process no longer intercepts irb errors
|
|
@@ -167,7 +239,7 @@
|
|
|
167
239
|
- #204 - Long running controllers
|
|
168
240
|
- Better internal API to handle multiple usage cases using ```Karafka::Controllers::Includer```
|
|
169
241
|
- #207 - Rename before_enqueued to after_received
|
|
170
|
-
- #147 -
|
|
242
|
+
- #147 - De-attach Karafka from Sidekiq by extracting Sidekiq backend
|
|
171
243
|
|
|
172
244
|
### New features and improvements
|
|
173
245
|
|
|
@@ -252,7 +324,7 @@
|
|
|
252
324
|
- Waterdrop 0.3.2.1 with kafka.hosts instead of kafka_hosts
|
|
253
325
|
- #105 - Karafka::Monitor#caller_label not working with inherited monitors
|
|
254
326
|
- #99 - Standalone mode (without Sidekiq)
|
|
255
|
-
- #97 - Buffer responders single topics before send (
|
|
327
|
+
- #97 - Buffer responders single topics before send (pre-validation)
|
|
256
328
|
- Better control over consumer thanks to additional config options
|
|
257
329
|
- #111 - Dynamic worker assignment based on the income params
|
|
258
330
|
- Long shutdown time fix
|
|
@@ -260,7 +332,7 @@
|
|
|
260
332
|
## 0.5.0
|
|
261
333
|
- Removed Zookeeper totally as dependency
|
|
262
334
|
- Better group and partition rebalancing
|
|
263
|
-
- Automatic thread management (no need for
|
|
335
|
+
- Automatic thread management (no need for tuning) - each topic is a separate actor/thread
|
|
264
336
|
- Moved from Poseidon into Ruby-Kafka
|
|
265
337
|
- No more max_concurrency setting
|
|
266
338
|
- After you define your App class and routes (and everything else) you need to add execute App.boot!
|
|
@@ -276,14 +348,14 @@
|
|
|
276
348
|
- Ruby 2.2.* support dropped
|
|
277
349
|
- Using App name as a Kafka client_id
|
|
278
350
|
- Automatic Capistrano integration
|
|
279
|
-
- Responders support for handling better responses
|
|
351
|
+
- Responders support for handling better responses pipe-lining and better responses flow description and design (see README for more details)
|
|
280
352
|
- Gem bump
|
|
281
353
|
- Readme updates
|
|
282
354
|
- karafka flow CLI command for printing the application flow
|
|
283
|
-
- Some internal
|
|
355
|
+
- Some internal refactoring
|
|
284
356
|
|
|
285
357
|
## 0.4.2
|
|
286
|
-
- #87 -
|
|
358
|
+
- #87 - Re-consume mode with crone for better Rails/Rack integration
|
|
287
359
|
- Moved Karafka server related stuff into separate Karafka::Server class
|
|
288
360
|
- Renamed Karafka::Runner into Karafka::Fetcher
|
|
289
361
|
- Gem bump
|
|
@@ -295,7 +367,7 @@
|
|
|
295
367
|
|
|
296
368
|
## 0.4.1
|
|
297
369
|
- Explicit throw(:abort) required to halt before_enqueue (like in Rails 5)
|
|
298
|
-
- #61 -
|
|
370
|
+
- #61 - autodiscovery of Kafka brokers based on Zookeeper data
|
|
299
371
|
- #63 - Graceful shutdown with current offset state during data processing
|
|
300
372
|
- #65 - Example of NewRelic monitor is outdated
|
|
301
373
|
- #71 - Setup should be executed after user code is loaded
|
|
@@ -351,7 +423,7 @@
|
|
|
351
423
|
- Added Karafka::Monitoring that allows to add custom logging and monitoring with external libraries and systems
|
|
352
424
|
- Moved logging functionality into Karafka::Monitoring default monitoring
|
|
353
425
|
- Added possibility to provide own monitoring as long as in responds to #notice and #notice_error
|
|
354
|
-
-
|
|
426
|
+
- Standardized logging format for all logs
|
|
355
427
|
|
|
356
428
|
## 0.3.0
|
|
357
429
|
- Switched from custom ParserError for each parser to general catching of Karafka::Errors::ParseError and its descendants
|
|
@@ -368,7 +440,7 @@
|
|
|
368
440
|
|
|
369
441
|
## 0.1.19
|
|
370
442
|
- Internal call - schedule naming change
|
|
371
|
-
- Enqueue to perform_async naming in controller to follow
|
|
443
|
+
- Enqueue to perform_async naming in controller to follow Sidekiq naming convention
|
|
372
444
|
- Gem bump
|
|
373
445
|
|
|
374
446
|
## 0.1.18
|
|
@@ -379,7 +451,7 @@
|
|
|
379
451
|
- Changed Karafka::Connection::Cluster tp Karafka::Connection::ActorCluster to distinguish between a single thread actor cluster for multiple topic connection and a future feature that will allow process clusterization.
|
|
380
452
|
- Add an ability to use user-defined parsers for a messages
|
|
381
453
|
- Lazy load params for before callbacks
|
|
382
|
-
- Automatic loading/
|
|
454
|
+
- Automatic loading/initializing all workers classes during startup (so Sidekiq won't fail with unknown workers exception)
|
|
383
455
|
- Params are now private to controller
|
|
384
456
|
- Added bootstrap method to app.rb
|
|
385
457
|
|
|
@@ -420,7 +492,7 @@
|
|
|
420
492
|
- Added worker logger
|
|
421
493
|
|
|
422
494
|
## 0.1.8
|
|
423
|
-
-
|
|
495
|
+
- Dropped local env support in favour of [Envlogic](https://github.com/karafka/envlogic) - no changes in API
|
|
424
496
|
|
|
425
497
|
## 0.1.7
|
|
426
498
|
- Karafka option for Redis hosts (not localhost only)
|
|
@@ -450,7 +522,7 @@
|
|
|
450
522
|
|
|
451
523
|
## 0.1.1
|
|
452
524
|
- README updates
|
|
453
|
-
-
|
|
525
|
+
- Rake tasks updates
|
|
454
526
|
- Rake installation task
|
|
455
527
|
- Changelog file added
|
|
456
528
|
|
data/CONTRIBUTING.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
First, thank you for considering contributing to karafka! It's people like you that make the open source community such a great community! 😊
|
|
6
6
|
|
|
7
|
-
We welcome any type of contribution, not only code. You can help with
|
|
7
|
+
We welcome any type of contribution, not only code. You can help with:
|
|
8
8
|
- **QA**: file bug reports, the more details you can give the better (e.g. screenshots with the console open)
|
|
9
9
|
- **Marketing**: writing blog posts, howto's, printing stickers, ...
|
|
10
10
|
- **Community**: presenting the project at meetups, organizing a dedicated meetup for the local community, ...
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,126 +1,141 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
karafka (1.2
|
|
5
|
-
activesupport (>= 4.0)
|
|
4
|
+
karafka (1.3.2)
|
|
6
5
|
dry-configurable (~> 0.8)
|
|
7
6
|
dry-inflector (~> 0.1)
|
|
8
7
|
dry-monitor (~> 0.3)
|
|
9
|
-
dry-validation (~>
|
|
10
|
-
envlogic (~> 1.
|
|
8
|
+
dry-validation (~> 1.2)
|
|
9
|
+
envlogic (~> 1.1)
|
|
10
|
+
irb (~> 1.0)
|
|
11
11
|
multi_json (>= 1.12)
|
|
12
12
|
rake (>= 11.3)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
ruby-kafka (>= 0.7.8)
|
|
14
|
+
thor (>= 0.20)
|
|
15
|
+
waterdrop (~> 1.3.0)
|
|
16
|
+
zeitwerk (~> 2.1)
|
|
17
17
|
|
|
18
18
|
GEM
|
|
19
19
|
remote: https://rubygems.org/
|
|
20
20
|
specs:
|
|
21
|
-
activesupport (
|
|
21
|
+
activesupport (6.0.2.1)
|
|
22
22
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
23
23
|
i18n (>= 0.7, < 2)
|
|
24
24
|
minitest (~> 5.1)
|
|
25
25
|
tzinfo (~> 1.1)
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
zeitwerk (~> 2.2)
|
|
27
|
+
byebug (11.0.1)
|
|
28
|
+
concurrent-ruby (1.1.5)
|
|
29
|
+
delivery_boy (0.2.8)
|
|
30
|
+
king_konf (~> 0.3)
|
|
31
|
+
ruby-kafka (~> 0.7.8)
|
|
31
32
|
diff-lcs (1.3)
|
|
32
33
|
digest-crc (0.4.1)
|
|
33
|
-
docile (1.3.
|
|
34
|
-
dry-configurable (0.
|
|
34
|
+
docile (1.3.2)
|
|
35
|
+
dry-configurable (0.9.0)
|
|
35
36
|
concurrent-ruby (~> 1.0)
|
|
36
37
|
dry-core (~> 0.4, >= 0.4.7)
|
|
37
|
-
dry-container (0.7.
|
|
38
|
+
dry-container (0.7.2)
|
|
38
39
|
concurrent-ruby (~> 1.0)
|
|
39
40
|
dry-configurable (~> 0.1, >= 0.1.3)
|
|
40
|
-
dry-core (0.4.
|
|
41
|
+
dry-core (0.4.9)
|
|
41
42
|
concurrent-ruby (~> 1.0)
|
|
42
|
-
dry-equalizer (0.
|
|
43
|
-
dry-events (0.
|
|
43
|
+
dry-equalizer (0.3.0)
|
|
44
|
+
dry-events (0.2.0)
|
|
44
45
|
concurrent-ruby (~> 1.0)
|
|
45
46
|
dry-core (~> 0.4)
|
|
46
47
|
dry-equalizer (~> 0.2)
|
|
47
|
-
dry-inflector (0.
|
|
48
|
-
dry-
|
|
49
|
-
|
|
48
|
+
dry-inflector (0.2.0)
|
|
49
|
+
dry-initializer (3.0.2)
|
|
50
|
+
dry-logic (1.0.5)
|
|
51
|
+
concurrent-ruby (~> 1.0)
|
|
50
52
|
dry-core (~> 0.2)
|
|
51
53
|
dry-equalizer (~> 0.2)
|
|
52
|
-
dry-monitor (0.3.
|
|
54
|
+
dry-monitor (0.3.1)
|
|
53
55
|
dry-configurable (~> 0.5)
|
|
54
56
|
dry-core (~> 0.4)
|
|
55
57
|
dry-equalizer (~> 0.2)
|
|
56
58
|
dry-events (~> 0.1)
|
|
57
|
-
dry-
|
|
59
|
+
dry-schema (1.4.2)
|
|
60
|
+
concurrent-ruby (~> 1.0)
|
|
61
|
+
dry-configurable (~> 0.8, >= 0.8.3)
|
|
62
|
+
dry-core (~> 0.4)
|
|
63
|
+
dry-equalizer (~> 0.2)
|
|
64
|
+
dry-initializer (~> 3.0)
|
|
65
|
+
dry-logic (~> 1.0)
|
|
66
|
+
dry-types (~> 1.2)
|
|
67
|
+
dry-types (1.2.2)
|
|
58
68
|
concurrent-ruby (~> 1.0)
|
|
59
69
|
dry-container (~> 0.3)
|
|
60
70
|
dry-core (~> 0.4, >= 0.4.4)
|
|
61
|
-
dry-equalizer (~> 0.
|
|
71
|
+
dry-equalizer (~> 0.3)
|
|
62
72
|
dry-inflector (~> 0.1, >= 0.1.2)
|
|
63
|
-
dry-logic (~> 0
|
|
64
|
-
dry-validation (
|
|
73
|
+
dry-logic (~> 1.0, >= 1.0.2)
|
|
74
|
+
dry-validation (1.4.0)
|
|
65
75
|
concurrent-ruby (~> 1.0)
|
|
66
|
-
dry-
|
|
67
|
-
dry-core (~> 0.
|
|
76
|
+
dry-container (~> 0.7, >= 0.7.1)
|
|
77
|
+
dry-core (~> 0.4)
|
|
68
78
|
dry-equalizer (~> 0.2)
|
|
69
|
-
dry-
|
|
70
|
-
dry-
|
|
79
|
+
dry-initializer (~> 3.0)
|
|
80
|
+
dry-schema (~> 1.0, >= 1.3.1)
|
|
71
81
|
envlogic (1.1.0)
|
|
72
82
|
dry-inflector (~> 0.1)
|
|
73
|
-
|
|
83
|
+
factory_bot (5.1.1)
|
|
84
|
+
activesupport (>= 4.2.0)
|
|
85
|
+
i18n (1.7.0)
|
|
74
86
|
concurrent-ruby (~> 1.0)
|
|
75
|
-
|
|
87
|
+
io-console (0.5.3)
|
|
88
|
+
irb (1.2.1)
|
|
89
|
+
reline (>= 0.0.1)
|
|
90
|
+
json (2.3.0)
|
|
76
91
|
king_konf (0.3.7)
|
|
77
|
-
minitest (5.
|
|
78
|
-
multi_json (1.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
rspec (3.
|
|
83
|
-
rspec-core (~> 3.
|
|
84
|
-
rspec-expectations (~> 3.
|
|
85
|
-
rspec-mocks (~> 3.
|
|
86
|
-
rspec-core (3.
|
|
87
|
-
rspec-support (~> 3.
|
|
88
|
-
rspec-expectations (3.
|
|
92
|
+
minitest (5.13.0)
|
|
93
|
+
multi_json (1.14.1)
|
|
94
|
+
rake (13.0.1)
|
|
95
|
+
reline (0.1.0)
|
|
96
|
+
io-console (~> 0.5)
|
|
97
|
+
rspec (3.9.0)
|
|
98
|
+
rspec-core (~> 3.9.0)
|
|
99
|
+
rspec-expectations (~> 3.9.0)
|
|
100
|
+
rspec-mocks (~> 3.9.0)
|
|
101
|
+
rspec-core (3.9.0)
|
|
102
|
+
rspec-support (~> 3.9.0)
|
|
103
|
+
rspec-expectations (3.9.0)
|
|
89
104
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
90
|
-
rspec-support (~> 3.
|
|
91
|
-
rspec-mocks (3.
|
|
105
|
+
rspec-support (~> 3.9.0)
|
|
106
|
+
rspec-mocks (3.9.0)
|
|
92
107
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
93
|
-
rspec-support (~> 3.
|
|
94
|
-
rspec-support (3.
|
|
95
|
-
ruby-kafka (0.7.
|
|
108
|
+
rspec-support (~> 3.9.0)
|
|
109
|
+
rspec-support (3.9.0)
|
|
110
|
+
ruby-kafka (0.7.10)
|
|
96
111
|
digest-crc
|
|
97
|
-
simplecov (0.
|
|
112
|
+
simplecov (0.17.1)
|
|
98
113
|
docile (~> 1.1)
|
|
99
114
|
json (>= 1.8, < 3)
|
|
100
115
|
simplecov-html (~> 0.10.0)
|
|
101
116
|
simplecov-html (0.10.2)
|
|
102
|
-
thor (0.
|
|
117
|
+
thor (1.0.1)
|
|
103
118
|
thread_safe (0.3.6)
|
|
104
|
-
timecop (0.9.1)
|
|
105
119
|
tzinfo (1.2.5)
|
|
106
120
|
thread_safe (~> 0.1)
|
|
107
|
-
waterdrop (1.
|
|
121
|
+
waterdrop (1.3.1)
|
|
108
122
|
delivery_boy (~> 0.2)
|
|
109
123
|
dry-configurable (~> 0.8)
|
|
110
124
|
dry-monitor (~> 0.3)
|
|
111
|
-
dry-validation (~>
|
|
112
|
-
|
|
113
|
-
|
|
125
|
+
dry-validation (~> 1.2)
|
|
126
|
+
ruby-kafka (>= 0.7.8)
|
|
127
|
+
zeitwerk (~> 2.1)
|
|
128
|
+
zeitwerk (2.2.2)
|
|
114
129
|
|
|
115
130
|
PLATFORMS
|
|
116
131
|
ruby
|
|
117
132
|
|
|
118
133
|
DEPENDENCIES
|
|
119
|
-
|
|
134
|
+
byebug
|
|
135
|
+
factory_bot
|
|
120
136
|
karafka!
|
|
121
137
|
rspec
|
|
122
138
|
simplecov
|
|
123
|
-
timecop
|
|
124
139
|
|
|
125
140
|
BUNDLED WITH
|
|
126
|
-
2.
|
|
141
|
+
2.1.2
|