2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Как обратится к глобальной переменной из службы в python?
Сообщение07.01.2019, 09:22 
Друзья, всем привет!
Пишу свой первый веб-сервис на питоне, с помощью связки spyne -> mod_wsgi -> apache поднял часть которая отвечает за общение с приложением. Само приложение пришлось вынести из mod_wsgi, так как каждый запрос прогружает всю модель заново и задерживает ответы. Как вынести приложение в оперативную память, чтобы один раз запустить и через mod_wsgi только обращаться к нему?

Сейчас стартую скрипт в интерактивном режиме:
Код:
def startup():
     global model
     from sklearn.externals import joblib
     model= joblib.load('model')
     print('Model_loaded')


Но из mod_wsgi не могу достучаться до переменной:

Код:
global model


Буду признателен за ссылки на примеры!

 
 
 
 Re: Как обратится к глобальной переменной из службы в python?
Сообщение07.01.2019, 13:13 
Копаю в сторону
Код:
WSGIDaemonProcess


-- 07.01.2019, 15:00 --

Вопрос закрыт.
Проблема лечится внутренней демонизацией mod_wsgi, вот пример работающего конфига Apache:
Код:
<VirtualHost *:80>

    ServerName getdock
   
    WSGIDaemonProcess pybsk processes=1 threads=5
    WSGIScriptAlias /Get /var/www/python/pymain.py
   
    WSGICallableObject 'application'
    LogLevel info
    DocumentRoot /var/www/python

    <Directory /var/www/python>
        WSGIProcessGroup getdock
        WSGIApplicationGroup %{GLOBAL}
        <IfVersion < 2.4>
            Order allow,deny
            Allow from all
        </IfVersion>
        <IfVersion >= 2.4>
            Require all granted
        </IfVersion>
    </Directory>
    <IfDefine MOD_WSGI_LOAD_PYTHON_DYLIB>
        LoadFile ''
    </IfDefine>
   
    WSGIMapHEADToGET Auto

</VirtualHost>

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group