结论
如果您不加考虑地将其放入pip中,它将无法正常工作。
您不仅要阅读网上的文章或阅读官方手册,还必须正确阅读所采用版本的来源,并且必须正确验证操作。
由于种种想法,我搬到了Gunicorn。
起源
当前,uWSGI用于我参与的项目中,当我进行调整以提高性能时,有时会在不确定的时间频繁发生错误。
研究
有时所有uWSGI进程几乎同时关闭。
有一个名为
由于uWSGI可以启动并运行与指定数量的工作程序一样多的进程,因此我认为工作程序的数量应与内核的数量一样多。
由于uWSGI试图将工作平均分配给多个工作人员,因此很可能在一定程度上同时到达此
例如,如果前端为nginx,则将出现暂时的502错误风暴。
作为解决此问题的方法,有一个名为
例如,在以下文章中对其进行了说明。
https://qiita.com/wapa5pow/items/f4326aed6c0b63617ebd
此选项在uwsgi手册中进行了说明。
https://uwsgi-docs.readthedocs.io/zh-CN/latest/Options.html?highlight=max-requests-delta#max-requests-delta
解释是将(worker_id * delta)添加到每个worker的max_requests值中,并且通过设置此选项,可以消除某些进程同时被多次杀死(如果未完成)。
此选项在uWSGI中设置。
以下是撰写本文时最新提交ID的相关部分。
https://github.com/unbit/uwsgi/blob/f17bdbd1b59565a0d6e81e7b825ee6e08ec8e29e/core/uwsgi.c#L299
乍一看,它似乎可以使用,但是如果要从最新的master分支构建自己,则可以使用它。
目前,uWSGI的最新版本是2.0.18,但是如果您转至源代码,则没有这样的选项。
https://github.com/unbit/uwsgi/blob/2.0.18/core/uwsgi.c#L275-L276
期权本身已经存在了五年,但令人担忧的是它不稳定。
结束