Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds another sender. AsyncKafkaSender.
The main motivation for this sender is not speed, From some test run in comparison to the ThreadedKafkaSender there was no real change. But this prepares for an async senders to be usable within the same event loop.
The sender is not feature complete as compared to the threaded, as aiokafka is not yet released with admin client. It is merged already. (since this is one time execution at the start of the pump, it seems acceptable to rely on non-async client)
The way this works is we start the loop in an independent thread, and loop gets shared between all implementors of AsynLogSenders. So they all share the event loop