karafka 1.2.13 → 1.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +2 -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 +91 -18
- data/CONTRIBUTING.md +1 -1
- data/Gemfile +2 -5
- data/Gemfile.lock +79 -65
- 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 +8 -15
- data/lib/karafka/app.rb +14 -6
- data/lib/karafka/attributes_map.rb +5 -12
- 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 +5 -2
- 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 +31 -0
- data/lib/karafka/errors.rb +17 -16
- data/lib/karafka/fetcher.rb +28 -30
- data/lib/karafka/helpers/class_matcher.rb +6 -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/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 +63 -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 -79
- 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: ddf68ae4e3a502480b2cdede179dca9a62a89e61cd0f7878fdf46629b4204437
|
4
|
+
data.tar.gz: 3e0ba01212a750838e946d73216b7dd5b02a19d3a9ac55d094bafbe800af511b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 056b083736bf303d2de7f9aefa83151229b6a8c6f8e6b279c2e06eee41047b1dd31d3361a7b101b9a34572dd22934ac136f1fbb41771e8070cb2ffb24e5f4b1a
|
7
|
+
data.tar.gz: 53da753b3835e0c8621a80adcdc0992a7737a3bce1cf0563a27ce76391d4fecc7c55c9d927cd675bf7096074081b2e91073c3a30bbeabcc6c919067812a5a595
|
checksums.yaml.gz.sig
ADDED
Binary file
|
data.tar.gz.sig
ADDED
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,10 +1,80 @@
|
|
1
1
|
# Karafka framework changelog
|
2
2
|
|
3
|
-
## 1.
|
4
|
-
-
|
5
|
-
|
6
|
-
|
3
|
+
## 1.3.4 (2020-02-17)
|
4
|
+
- `dry-configurable` upgrade (solnic)
|
5
|
+
- Remove temporary `thor` patches that are no longer needed
|
6
|
+
|
7
|
+
## 1.3.3 (2019-12-23)
|
8
|
+
- Require `delegate` to fix missing dependency in `ruby-kafka`
|
9
|
+
|
10
|
+
## 1.3.2 (2019-12-23)
|
11
|
+
- #561 - Allow `thor` 1.0.x usage in Karafka
|
12
|
+
- #567 - Ruby 2.7.0 support + unfreeze of a frozen string fix
|
13
|
+
|
14
|
+
## 1.3.1 (2019-11-11)
|
15
|
+
- #545 - Makes sure the log directory exists when is possible (robertomiranda)
|
16
|
+
- Ruby 2.6.5 support
|
17
|
+
- #551 - add support for DSA keys
|
18
|
+
- #549 - Missing directories after `karafka install` (nijikon)
|
19
|
+
|
20
|
+
## 1.3.0 (2019-09-09)
|
21
|
+
- Drop support for Ruby 2.4
|
22
|
+
- YARD docs tags cleanup
|
23
|
+
|
24
|
+
## 1.3.0.rc1 (2019-07-31)
|
25
|
+
- Drop support for Kafka 0.10 in favor of native support for Kafka 0.11.
|
26
|
+
- Update ruby-kafka to the 0.7 version
|
27
|
+
- Support messages headers receiving
|
28
|
+
- Message bus unification
|
29
|
+
- Parser available in metadata
|
30
|
+
- Cleanup towards moving to a non-global state app management
|
31
|
+
- Drop Ruby 2.3 support
|
32
|
+
- Support for Ruby 2.6.3
|
33
|
+
- `Karafka::Loader` has been removed in favor of Zeitwerk
|
34
|
+
- Schemas are now contracts
|
35
|
+
- #393 - Reorganize responders - removed `multiple_usage` constrain
|
36
|
+
- #388 - ssl_client_cert_chain sync
|
37
|
+
- #300 - Store value in a value key and replace its content with parsed version - without root merge
|
38
|
+
- #331 - Disallow building groups without topics
|
39
|
+
- #340 - Instrumentation unification. Better and more consistent naming
|
40
|
+
- #340 - Procline instrumentation for a nicer process name
|
41
|
+
- #342 - Change default for `fetcher_max_queue_size` from `100` to `10` to lower max memory usage
|
42
|
+
- #345 - Cleanup exceptions names
|
43
|
+
- #341 - Split connection delegator into batch delegator and single_delegator
|
44
|
+
- #351 - Rename `#retrieve!` to `#parse!` on params and `#parsed` to `parse!` on params batch.
|
45
|
+
- #351 - Adds '#first' for params_batch that returns parsed first element from the params_batch object.
|
46
|
+
- #360 - Single params consuming mode automatically parses data specs
|
47
|
+
- #359 - Divide mark_as_consumed into mark_as_consumed and mark_as_consumed!
|
48
|
+
- #356 - Provide a `#values` for params_batch to extract only values of objects from the params_batch
|
49
|
+
- #363 - Too shallow ruby-kafka version lock
|
50
|
+
- #354 - Expose consumer heartbeat
|
51
|
+
- #377 - Remove the persistent setup in favor of persistence
|
52
|
+
- #375 - Sidekiq Backend parser mismatch
|
53
|
+
- #369 - Single consumer can support more than one topic
|
54
|
+
- #288 - Drop dependency on `activesupport` gem
|
55
|
+
- #371 - SASL over SSL
|
56
|
+
- #392 - Move params redundant data to metadata
|
57
|
+
- #335 - Metadata access from within the consumer
|
58
|
+
- #402 - Delayed reconnection upon critical failures
|
59
|
+
- #405 - `reconnect_timeout` value is now being validated
|
60
|
+
- #437 - Specs ensuring that the `#437` won't occur in the `1.3` release
|
61
|
+
- #426 - ssl client cert key password
|
62
|
+
- #444 - add certificate and private key validation
|
63
|
+
- #460 - Decouple responder "parser" (generator?) from topic.parser (benissimo)
|
64
|
+
- #463 - Split parsers into serializers / deserializers
|
65
|
+
- #473 - Support SASL OAuthBearer Authentication
|
66
|
+
- #475 - Disallow subscribing to the same topic with multiple consumers
|
67
|
+
- #485 - Setting shutdown_timeout to nil kills the app without waiting for anything
|
68
|
+
- #487 - Make listeners as instances
|
7
69
|
- #29 - Consumer class names must have the word "Consumer" in it in order to work (Sidekiq backend)
|
70
|
+
- #491 - irb is missing for console to work
|
71
|
+
- #502 - Karafka process hangs when sending multiple sigkills
|
72
|
+
- #506 - ssl_verify_hostname sync
|
73
|
+
- #483 - Upgrade dry-validation before releasing 1.3
|
74
|
+
- #492 - Use Zeitwerk for code reload in development
|
75
|
+
- #508 - Reset the consumers instances upon reconnecting to a cluster
|
76
|
+
- [#530](https://github.com/karafka/karafka/pull/530) - expose ruby and ruby-kafka version
|
77
|
+
- [534](https://github.com/karafka/karafka/pull/534) - Allow to use headers in the deserializer object
|
8
78
|
|
9
79
|
## 1.2.11
|
10
80
|
- [#470](https://github.com/karafka/karafka/issues/470) Karafka not working with dry-configurable 0.8
|
@@ -27,6 +97,7 @@
|
|
27
97
|
## 1.2.6
|
28
98
|
- Lock WaterDrop to 1.2.3
|
29
99
|
- Lock Ruby-Kafka to 0.6.x (support for 0.7 will be added in Karafka 1.3)
|
100
|
+
- #382 - Full logging with AR, etc for development mode when there is Rails integration
|
30
101
|
|
31
102
|
## 1.2.5
|
32
103
|
- #354 - Expose consumer heartbeat
|
@@ -37,10 +108,12 @@
|
|
37
108
|
|
38
109
|
## 1.2.3
|
39
110
|
- #313 - support PLAINTEXT and SSL for scheme
|
40
|
-
- #
|
111
|
+
- #288 - drop activesupport callbacks in favor of notifications
|
112
|
+
- #320 - Pausing indefinitely with nil pause timeout doesn't work
|
41
113
|
- #318 - Partition pausing doesn't work with custom topic mappers
|
42
114
|
- Rename ConfigAdapter to ApiAdapter to better reflect what it does
|
43
115
|
- #317 - Manual offset committing doesn't work with custom topic mappers
|
116
|
+
- #319 - Support for exponential backoff in pause
|
44
117
|
|
45
118
|
## 1.2.2
|
46
119
|
- #312 - Broken for ActiveSupport 5.2.0
|
@@ -165,7 +238,7 @@
|
|
165
238
|
- Switch to multi json so everyone can use their favourite JSON parser
|
166
239
|
- Added jruby support in general and in Travis
|
167
240
|
- #196 - Topic mapper does not map topics when subscribing thanks to @webandtech
|
168
|
-
- #96 - Karafka server -
|
241
|
+
- #96 - Karafka server - possibility to run it only for a certain topics
|
169
242
|
- ~~karafka worker cli option is removed (please use sidekiq directly)~~ - restored, bad idea
|
170
243
|
- (optional) pausing upon processing failures ```pause_timeout```
|
171
244
|
- Karafka console main process no longer intercepts irb errors
|
@@ -173,7 +246,7 @@
|
|
173
246
|
- #204 - Long running controllers
|
174
247
|
- Better internal API to handle multiple usage cases using ```Karafka::Controllers::Includer```
|
175
248
|
- #207 - Rename before_enqueued to after_received
|
176
|
-
- #147 -
|
249
|
+
- #147 - De-attach Karafka from Sidekiq by extracting Sidekiq backend
|
177
250
|
|
178
251
|
### New features and improvements
|
179
252
|
|
@@ -258,7 +331,7 @@
|
|
258
331
|
- Waterdrop 0.3.2.1 with kafka.hosts instead of kafka_hosts
|
259
332
|
- #105 - Karafka::Monitor#caller_label not working with inherited monitors
|
260
333
|
- #99 - Standalone mode (without Sidekiq)
|
261
|
-
- #97 - Buffer responders single topics before send (
|
334
|
+
- #97 - Buffer responders single topics before send (pre-validation)
|
262
335
|
- Better control over consumer thanks to additional config options
|
263
336
|
- #111 - Dynamic worker assignment based on the income params
|
264
337
|
- Long shutdown time fix
|
@@ -266,7 +339,7 @@
|
|
266
339
|
## 0.5.0
|
267
340
|
- Removed Zookeeper totally as dependency
|
268
341
|
- Better group and partition rebalancing
|
269
|
-
- Automatic thread management (no need for
|
342
|
+
- Automatic thread management (no need for tuning) - each topic is a separate actor/thread
|
270
343
|
- Moved from Poseidon into Ruby-Kafka
|
271
344
|
- No more max_concurrency setting
|
272
345
|
- After you define your App class and routes (and everything else) you need to add execute App.boot!
|
@@ -282,14 +355,14 @@
|
|
282
355
|
- Ruby 2.2.* support dropped
|
283
356
|
- Using App name as a Kafka client_id
|
284
357
|
- Automatic Capistrano integration
|
285
|
-
- Responders support for handling better responses
|
358
|
+
- Responders support for handling better responses pipe-lining and better responses flow description and design (see README for more details)
|
286
359
|
- Gem bump
|
287
360
|
- Readme updates
|
288
361
|
- karafka flow CLI command for printing the application flow
|
289
|
-
- Some internal
|
362
|
+
- Some internal refactoring
|
290
363
|
|
291
364
|
## 0.4.2
|
292
|
-
- #87 -
|
365
|
+
- #87 - Re-consume mode with crone for better Rails/Rack integration
|
293
366
|
- Moved Karafka server related stuff into separate Karafka::Server class
|
294
367
|
- Renamed Karafka::Runner into Karafka::Fetcher
|
295
368
|
- Gem bump
|
@@ -301,7 +374,7 @@
|
|
301
374
|
|
302
375
|
## 0.4.1
|
303
376
|
- Explicit throw(:abort) required to halt before_enqueue (like in Rails 5)
|
304
|
-
- #61 -
|
377
|
+
- #61 - autodiscovery of Kafka brokers based on Zookeeper data
|
305
378
|
- #63 - Graceful shutdown with current offset state during data processing
|
306
379
|
- #65 - Example of NewRelic monitor is outdated
|
307
380
|
- #71 - Setup should be executed after user code is loaded
|
@@ -357,7 +430,7 @@
|
|
357
430
|
- Added Karafka::Monitoring that allows to add custom logging and monitoring with external libraries and systems
|
358
431
|
- Moved logging functionality into Karafka::Monitoring default monitoring
|
359
432
|
- Added possibility to provide own monitoring as long as in responds to #notice and #notice_error
|
360
|
-
-
|
433
|
+
- Standardized logging format for all logs
|
361
434
|
|
362
435
|
## 0.3.0
|
363
436
|
- Switched from custom ParserError for each parser to general catching of Karafka::Errors::ParseError and its descendants
|
@@ -374,7 +447,7 @@
|
|
374
447
|
|
375
448
|
## 0.1.19
|
376
449
|
- Internal call - schedule naming change
|
377
|
-
- Enqueue to perform_async naming in controller to follow
|
450
|
+
- Enqueue to perform_async naming in controller to follow Sidekiq naming convention
|
378
451
|
- Gem bump
|
379
452
|
|
380
453
|
## 0.1.18
|
@@ -385,7 +458,7 @@
|
|
385
458
|
- 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.
|
386
459
|
- Add an ability to use user-defined parsers for a messages
|
387
460
|
- Lazy load params for before callbacks
|
388
|
-
- Automatic loading/
|
461
|
+
- Automatic loading/initializing all workers classes during startup (so Sidekiq won't fail with unknown workers exception)
|
389
462
|
- Params are now private to controller
|
390
463
|
- Added bootstrap method to app.rb
|
391
464
|
|
@@ -426,7 +499,7 @@
|
|
426
499
|
- Added worker logger
|
427
500
|
|
428
501
|
## 0.1.8
|
429
|
-
-
|
502
|
+
- Dropped local env support in favour of [Envlogic](https://github.com/karafka/envlogic) - no changes in API
|
430
503
|
|
431
504
|
## 0.1.7
|
432
505
|
- Karafka option for Redis hosts (not localhost only)
|
@@ -456,7 +529,7 @@
|
|
456
529
|
|
457
530
|
## 0.1.1
|
458
531
|
- README updates
|
459
|
-
-
|
532
|
+
- Rake tasks updates
|
460
533
|
- Rake installation task
|
461
534
|
- Changelog file added
|
462
535
|
|
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,140 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
karafka (1.
|
5
|
-
activesupport (>= 4.0)
|
4
|
+
karafka (1.3.4)
|
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.1.1)
|
28
|
+
concurrent-ruby (1.1.6)
|
29
|
+
delivery_boy (1.0.0)
|
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.11.0)
|
35
36
|
concurrent-ruby (~> 1.0)
|
36
37
|
dry-core (~> 0.4, >= 0.4.7)
|
37
|
-
|
38
|
+
dry-equalizer (~> 0.2)
|
39
|
+
dry-container (0.7.2)
|
38
40
|
concurrent-ruby (~> 1.0)
|
39
41
|
dry-configurable (~> 0.1, >= 0.1.3)
|
40
|
-
dry-core (0.4.
|
42
|
+
dry-core (0.4.9)
|
41
43
|
concurrent-ruby (~> 1.0)
|
42
|
-
dry-equalizer (0.
|
43
|
-
dry-events (0.
|
44
|
+
dry-equalizer (0.3.0)
|
45
|
+
dry-events (0.2.0)
|
44
46
|
concurrent-ruby (~> 1.0)
|
45
47
|
dry-core (~> 0.4)
|
46
48
|
dry-equalizer (~> 0.2)
|
47
|
-
dry-inflector (0.
|
48
|
-
dry-
|
49
|
+
dry-inflector (0.2.0)
|
50
|
+
dry-initializer (3.0.3)
|
51
|
+
dry-logic (1.0.6)
|
49
52
|
concurrent-ruby (~> 1.0)
|
50
53
|
dry-core (~> 0.2)
|
51
54
|
dry-equalizer (~> 0.2)
|
52
|
-
dry-monitor (0.3.
|
55
|
+
dry-monitor (0.3.1)
|
53
56
|
dry-configurable (~> 0.5)
|
54
57
|
dry-core (~> 0.4)
|
55
58
|
dry-equalizer (~> 0.2)
|
56
59
|
dry-events (~> 0.1)
|
57
|
-
dry-
|
60
|
+
dry-schema (1.4.3)
|
61
|
+
concurrent-ruby (~> 1.0)
|
62
|
+
dry-configurable (~> 0.8, >= 0.8.3)
|
63
|
+
dry-core (~> 0.4)
|
64
|
+
dry-equalizer (~> 0.2)
|
65
|
+
dry-initializer (~> 3.0)
|
66
|
+
dry-logic (~> 1.0)
|
67
|
+
dry-types (~> 1.2)
|
68
|
+
dry-types (1.3.1)
|
58
69
|
concurrent-ruby (~> 1.0)
|
59
70
|
dry-container (~> 0.3)
|
60
71
|
dry-core (~> 0.4, >= 0.4.4)
|
61
|
-
dry-equalizer (~> 0.
|
72
|
+
dry-equalizer (~> 0.3)
|
62
73
|
dry-inflector (~> 0.1, >= 0.1.2)
|
63
|
-
dry-logic (~> 0
|
64
|
-
dry-validation (
|
74
|
+
dry-logic (~> 1.0, >= 1.0.2)
|
75
|
+
dry-validation (1.4.2)
|
65
76
|
concurrent-ruby (~> 1.0)
|
66
|
-
dry-
|
67
|
-
dry-core (~> 0.
|
77
|
+
dry-container (~> 0.7, >= 0.7.1)
|
78
|
+
dry-core (~> 0.4)
|
68
79
|
dry-equalizer (~> 0.2)
|
69
|
-
dry-
|
70
|
-
dry-
|
80
|
+
dry-initializer (~> 3.0)
|
81
|
+
dry-schema (~> 1.4, >= 1.4.3)
|
71
82
|
envlogic (1.1.0)
|
72
83
|
dry-inflector (~> 0.1)
|
73
|
-
|
84
|
+
factory_bot (5.1.1)
|
85
|
+
activesupport (>= 4.2.0)
|
86
|
+
i18n (1.8.2)
|
74
87
|
concurrent-ruby (~> 1.0)
|
75
|
-
|
88
|
+
io-console (0.5.5)
|
89
|
+
irb (1.2.3)
|
90
|
+
reline (>= 0.0.1)
|
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.14.0)
|
93
|
+
multi_json (1.14.1)
|
94
|
+
rake (13.0.1)
|
95
|
+
reline (0.1.3)
|
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.1)
|
102
|
+
rspec-support (~> 3.9.1)
|
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.1)
|
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.2)
|
110
|
+
ruby-kafka (0.7.10)
|
96
111
|
digest-crc
|
97
|
-
simplecov (0.
|
112
|
+
simplecov (0.18.2)
|
98
113
|
docile (~> 1.1)
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
thor (0.20.3)
|
114
|
+
simplecov-html (~> 0.11)
|
115
|
+
simplecov-html (0.12.0)
|
116
|
+
thor (1.0.1)
|
103
117
|
thread_safe (0.3.6)
|
104
|
-
|
105
|
-
tzinfo (1.2.5)
|
118
|
+
tzinfo (1.2.6)
|
106
119
|
thread_safe (~> 0.1)
|
107
|
-
waterdrop (1.
|
108
|
-
delivery_boy (
|
120
|
+
waterdrop (1.3.3)
|
121
|
+
delivery_boy (>= 0.2, < 2.x)
|
109
122
|
dry-configurable (~> 0.8)
|
110
123
|
dry-monitor (~> 0.3)
|
111
|
-
dry-validation (~>
|
112
|
-
|
113
|
-
|
124
|
+
dry-validation (~> 1.2)
|
125
|
+
ruby-kafka (>= 0.7.8)
|
126
|
+
zeitwerk (~> 2.1)
|
127
|
+
zeitwerk (2.2.2)
|
114
128
|
|
115
129
|
PLATFORMS
|
116
130
|
ruby
|
117
131
|
|
118
132
|
DEPENDENCIES
|
119
|
-
|
133
|
+
byebug
|
134
|
+
factory_bot
|
120
135
|
karafka!
|
121
136
|
rspec
|
122
137
|
simplecov
|
123
|
-
timecop
|
124
138
|
|
125
139
|
BUNDLED WITH
|
126
|
-
2.
|
140
|
+
2.1.4
|