WSGI的流程独立工作

时间:2019-02-20 19:39:57

标签: python-3.x apache wsgi

目标是运行完全独立的流程。 我知道每个WSGI应用程序的子解释器,但是我的知识还不够。 例如,全局变量仍然可以通过不同的过程进行更改,所以我不使用它们。

详细信息:

Server version: Apache/2.4.34
Server MPM:     prefork

WSGIProcessGroup app
WSGIApplicationGroup %{GLOBAL}
WSGIDaemonProcess app processes=2 threads=1
WSGIScriptAlias /app /myhost/wsgi-scripts/app.py

Python 3.6.8

wsgi.multiprocess = True
wsgi.multithread = False

该应用程序接受GET参数,并使用带有类的某些包来做一些工作:

from some_package import Myclass

def application(environ, start_response):
    query_params = environ['QUERY_STRING']
    ...
    c = Myclass(query_params)
    ...
    return[output]

在请求过程中,无论是同时还是依次进行:

curl http://myhost/app?papam=1
curl http://myhost/app?papam=2

该应用输出不同的结果, htop显示了使用两个CPU内核处理这些请求的两个进程。

一切看起来都很好,但是可以确保这两个进程不会影响相同的应用状态吗?

0 个答案:

没有答案