Issue
I'm using asyncio in my application and i'm a litte bit confused about passing the event loop as argument.
You've three possibilities when writing a function/method using the event loop:
- Pass the asyncio event loop as argument
- Don't use an argument for the event loop and use
asyncio.get_event_loop()
- Make it optional to pass the event loop as argument. If it is not passed, use
asyncio.get_event_loop()
It seems that the last case is used most of the time but even in the asyncio api the usage is inconsistent. As I don't indent to use two seperated event loops what speaks against just using asyncio.get_event_loop()
where needed?
What's the best way to go?
Solution
A good (as in praised by Guido van Rossum) blog post discussing this is Some thoughts on asynchronous API design in a post-async/await world. With a follow up discussion from python core developers here.
TLDR;
If you're only using one event loop, it doesn't matter.
If you're managing multiple loops, and have python >= 3.6 it mostly doesn't matter: Do not use argument and use asyncio.get_event_loop()
where needed, it will give you the correct loop.
Answered By - ttyridal
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.