Общие данные лучше всего хранить в базе данных.
Если вам нужна глобальная переменная для сеанса пользователя, то вы хотите сохранить их вместе с данными сеанса: вот подробности для web.py и для фляги .
Если у вас есть постоянный процесс, который обрабатывает очередь, вы можете посмотреть на запуск вашего сервера с FastCGI, где ваш сервер Python может работать в отдельном экземпляре.с вашего веб-сервера.Проверьте, как настроить FastCGI для web.py - посмотрите, возможно ли это подходит.Веб-сервер будет связываться с сервером Python через свой собственный порт, поэтому ваш сервер Python сможет продолжать работу и поддерживать любые глобальные данные.
[править]
Поскольку вам нужно совместно использовать переменные - выможет проверить flask.g для фляги или web.ctx для web.py.Я никогда не использовал их - поэтому я не знаю, есть ли злые последствия или проблемы с производительностью.Я видел пример здесь , который предложил в web.py сделать что-то вроде:
import web
def add_global_hook():
g = web.storage({"counter": 0})
def _wrapper(handler):
web.ctx.globals = g
return handler()
return _wrapper
class Hello:
def GET(self):
web.ctx.globals.counter += 1
return "<h1>Counter: %d</h1>" % web.ctx.globals.counter
if __name__ == '__main__':
urls = ("/", "Hello")
app = web.application(urls, globals())
app.add_processor(add_global_hook())
app.run()