我已经阅读了2013年的一些帖子,Gunicorn团队计划构建一个线程缓冲层工作者模型,类似于Waitress的工作方式。这是gthread异步工作者的作用吗? gthread工作者在2014年发布了19.0版本。
Waitress有一个主异步线程来缓冲请求,并在请求I / O完成时将每个请求排入其中一个同步工作线程。
Gunicorn gthread没有太多文档,但听起来很相似。来自docs:
worker gthread是一个线程化的工作者。它接受主循环中的连接,接受的连接作为连接作业添加到线程池中。
我只是问,因为我对python异步I / O代码并不了解,尽管粗略阅读gthread.py似乎表明它是一个套接字缓冲进程,可以保护工作线程免受长I / O操作请求(并缓冲响应I / O)。
https://github.com/benoitc/gunicorn/blob/master/gunicorn/workers/gthread.py