Я имею в виду, если я сохраню глобальный int в памяти проекта Django
и изменим / просматриваю его, то все в порядке с manage.py runserver
.
Однако будет ли это работать в среде развертывания?
Я не уверен, как производственный веб-сервер (apache или uwsgi) будет использовать мой код. Будет ли это приложение инициализироваться много раз в разных процессах?
пример:
global_var.py:
command = CommandEvent("start") #a class contains event and command
var1 = 1
views.py:
from global_var import var1
def show_var(request):
return var1
UPDATE
Я храню данные в памяти, потому что разветвил другой поток, чтобы получить данные из другого источника. Я должен контролировать и получать данные из этой темы с помощью функций просмотра.
spider_py:
from global_var import var1, command
spider_thread = threading.Thread(target=spider_serve_forever, args=(command, var1))
def spider_serve_forever(command, var1):
while(1):
if command.str == "start":
pass
elif command.str == "get_data":
var1 = get_data()
command.event.set()
else:
pass
У меня есть другой поток, ожидающий события, после его установки, отправляем уведомление через websocket в веб-клиент.