[Async-sig] using asyncio in synchronous applications

Ludovic Gasc gmludo at gmail.com
Mon Jul 17 06:49:40 EDT 2017


Hi Chris,

I don't know your technical or efficiency constraints, however, if you want
to be 100% sure that you won't have any side effects between sync and async
code, you might have two daemons, one for each pattern, and use
microservice approach to exchanges messages.
Especially if you plan to use WebSockets, it would help you.
Up to you to decide the easiest approach for you.

Regards.

--
Ludovic Gasc (GMLudo)
Lead Developer Architect at ALLOcloud
https://be.linkedin.com/in/ludovicgasc

2017-07-10 5:48 GMT+02:00 Chris Jerdonek <chris.jerdonek at gmail.com>:

> I have a two-part question.
>
> If my application is single-threaded and synchronous (e.g. a web app
> using Gunicorn with sync workers [1]), and occasionally I need to call
> functions in a library that requires an event loop, is there any
> downside to creating and closing the loop on-the-fly only when I call
> the function? In other words, is creating and destroying loops cheap?
>
> Second, if I were to switch to a multi-threaded model (e.g. Gunicorn
> with async workers), is my only option to start the loop at the
> beginning of the process, and use loop.call_soon_threadsafe()? Or can
> I do what I was asking about above and create and close loops
> on-the-fly in different threads? Is either approach much more
> efficient than the other?
>
> Thanks,
> --Chris
>
> [1] http://docs.gunicorn.org/en/latest/design.html#sync-workers
> _______________________________________________
> Async-sig mailing list
> Async-sig at python.org
> https://mail.python.org/mailman/listinfo/async-sig
> Code of Conduct: https://www.python.org/psf/codeofconduct/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/async-sig/attachments/20170717/5cd8a880/attachment.html>


More information about the Async-sig mailing list