В моих стартовых крючках wsgi.py я создаю объекты очереди, которые мне нужно передать в модуль views.Django, передающий объекты в представлениях
# Create and start thread for euclid.
q = queue.Queue()
euclidThread = threading.Thread(target=startEuclidServer,
kwargs={"msgq":q})
euclidThread.setDaemon(True)
euclidThread.start()
Очередь используется для связи между моей «евклидовой» нитью и джанго. В моем проекте django есть приложение под названием «monitor», где мои представления должны иметь доступ к очереди, которую я создаю при запуске.
Раньше я делал это, открывая свой поток и создавая свою очередь в ../monitor/urls.py, однако это было проблематично, поскольку оно могло работать только при первом HTTP-запросе к этому приложению.
Кто-нибудь знает лучший способ сделать это, или я должен делать это совершенно по-другому. Для простоты я хочу избежать использования выделенной очереди, такой как rabbitmq/redis.
Пожалуйста, обновите свой вопрос примером того, что вы пытаетесь сделать, его непонятным (для меня), как ваш файл wsgi имеет какое-либо отношение к вашим представлениям – Sayse