приложение python flask mod_wsgi висит на сервере apache - PullRequest
0 голосов
/ 09 октября 2018

У меня есть веб-сервер apache, на котором я настроил веб-сайт с использованием фляги на основе Python, используя mod_wsgi.У меня проблема с моим маршрутизатором из-за зависания колбы Python при обработке огромного количества данных json.Здесь внутри маршрута есть функция, которая собирает данные и обрабатывает.

@app.route('/bulkprocess/', methods=['GET', 'POST'])
def bulk_request():
    res_vrf = mainapp.bulkfun(request.data)
    return jsonify(res_vrf)

Сценарий python mainapp.bulkfun () считывает много данных, обрабатывает их и затем возвращает обратно клиенту в формате son.Если я отправлю 2000 данных Json для обработки, это займет менее 6 минут, и я получу данные.если я попытаюсь отправить более 2000 данных для обработки, приложение будет зависать.Но данные будут отправлены на сервер, и весь процесс будет выполнен и не вернется к клиенту.

Сценарий mainapp.bulkfun () содержит многопроцессорный модуль для повышения производительности сценария.Я использовал этот скрипт по ссылке ниже.

Многопроцессорная обработка

В функции Mypool () мы используем 40 процессов на запрос.

При использованииВерхняя команда Я могу видеть процесс множественного Apache, происходящий после передачи данных сына.но никакие данные не возвращаются клиенту, если мы используем большие данные сына.На данный момент мое использование памяти также составляет менее 30%.

Ниже приведен мой журнал ошибок apache.

[Tue Oct 09 06:25:03.625139 2018] [mpm_worker:notice] [pid 3908:tid 140377528133504] AH00292: Apache/2.4.18 (Ubuntu) SVN/1.9.3 mod_wsgi/4.6.4 Python/3.6 configured -- resuming norm$
[Tue Oct 09 06:25:03.625179 2018] [core:notice] [pid 3908:tid 140377528133504] AH00094: Command line: '/usr/sbin/apache2'

Мой журнал ошибок приложения Flask

[Thu Oct 11 06:46:46.126464 2018] [wsgi:error] [pid 3175:tid 140377306687232] (70007)The timeout specified has expired: [client 137.97.88.45:43530] mod_wsgi (pid=3175): Failed to proxy response to client.
...