Независимая работа процессов с WSGI - PullRequest
0 голосов
/ 20 февраля 2019

Целью является запуск полностью изолированных процессов.Я знаю о дополнительных переводчиках для каждого приложения 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 показывает два процесса, которые обрабатываютэти запросы используют два ядра ЦП.

Все выглядит очень хорошо, но можно ли быть уверенным, что эти два процесса не влияют на одно и то же состояние приложения?

...