Pass loop attribute to asyncio.ensure_future#1
Merged
patkivikram merged 1 commit intofaust-streaming:masterfrom Dec 7, 2020
Merged
Pass loop attribute to asyncio.ensure_future#1patkivikram merged 1 commit intofaust-streaming:masterfrom
patkivikram merged 1 commit intofaust-streaming:masterfrom
Conversation
If we specify a custom event loop at worker instantiation, it has to also be used by asyncio instead of default one.
patkivikram
approved these changes
Dec 5, 2020
patkivikram
left a comment
There was a problem hiding this comment.
How do we plan on releasing this in pypi? Maybe call it mode-steaming?
Author
|
Hi. It's exactly the question I asked in the issue related to mode on faust-streaming project :-) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
If we specify a custom event loop at worker instantiation, it has to also be used by asyncio instead of default one.
Description
In some situation (for example in integration tests of Faust agents), I have to retry worker startup because kafka is not yet available.
But the first time I run
execute_from_commandline, the default event loop is closed so I have to create a new one before callingexecute_from_commandlineagain.Unfortunately, custom event loop is not properly transmitted to asyncio, so it automatically makes use of default event loop and raise a
RuntimeError('Event loop is closed').With this simple fix, user-specified event loop will be properly transmitted to asyncio.