-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AsyncIO support #37
Comments
Python 3.5 brings everything to par up with Go, but it looks quite different. Except that synchronous channels (aka queues) have to be simulated by a handshake and closing a queue is also not supported. For "select" I don't know.
But as it is shown in http://www.snarky.ca/how-the-heck-does-async-await-work-in-python-3-5 the whole asyncio library can be ignored by writing an own event loop with only async and await. But I think that using asyncio with some wrapper would be good enough if the goless.chan implementation is working like Queue to support await and goless.go is adding something to tasks. Yet it would require to start the loop at the end and use "async def" and await c.recv/send |
|
Hmmm, this is very interesting! So the next step would be to convert that into a pluggable backend. The main difficulty is creating a channel with Will you be at PyCon in Portland, and want to help on this? I won't be attending the conference since I'm not writing any Python nowadays, but since I'm in Portland I was planning on going to the sprints and hacking on something. |
Hey, |
It was not as nice as I expected, but the run() at the end can be omitted by using a separate thread. Code is updated in the repo. |
That looks really promising! I will report back if I get a chance to hack on it, otherwise if someone else takes this on it will be very useful for them. |
Sorry for jumping in on the thread. Just wondering if this is still on the backlog ? |
Not unless someone is running this in production and/or wants to develop it. |
I am not sure what'd be involved, but it would be nice if goless had asyncio support. I'm not sure what that means since I haven't looked into it much, so please educate me (or start a pull request).
The text was updated successfully, but these errors were encountered: