Python, asyncio, and systemd
rosuav at gmail.com
Tue Jan 17 13:03:04 EST 2017
On Wed, Jan 18, 2017 at 4:06 AM, Ian Kelly <ian.g.kelly at gmail.com> wrote:
>> What's the official way to say to asyncio "here's a listening socket,
>> start managing it for me"?
> I haven't tried this but create_server takes a "sock" keyword-argument.
I am blind, or an idiot. That is exactly what I'm looking for.
My code now looks like this:
srv = await loop.create_server(app.make_handler(), sock=sock)
srv = await loop.create_server(app.make_handler(), "0.0.0.0", port)
sock = srv.sockets
print("Listening on %s:%s" % sock.getsockname(), file=sys.stderr)
According to the docs, host and port must be unset (None) if sock is
given. It'd be nice if they could simply be ignored, in which case I
could just pass in all three parameters. (Yes, I'm forcing this to
IPv4 for this app, rather than using None or "::" to accept IPv6 as
well. If you're copying this code into your app, you should probably
accept IPv6, unless you know otherwise.)
But wow, I just completely didn't see that. I am incredible.
Thank you Ian!
More information about the Python-list