Python Django将对象传递给视图
在我的wsgi.py启动钩子中,我创建了一个队列对象,需要将其传递给视图模块Python Django将对象传递给视图,python,django,Python,Django,在我的wsgi.py启动钩子中,我创建了一个队列对象,需要将其传递给视图模块 # Create and start thread for euclid. q = queue.Queue() euclidThread = threading.Thread(target=startEuclidServer, kwargs={"msgq":q}) euclidThread.setDaemon(True) euclidThread.start() 队列用于我的“euclid”线程和django
# Create and start thread for euclid.
q = queue.Queue()
euclidThread = threading.Thread(target=startEuclidServer,
kwargs={"msgq":q})
euclidThread.setDaemon(True)
euclidThread.start()
队列用于我的“euclid”线程和django之间的通信。
我的django项目包含一个名为“monitor”的应用程序,我的视图需要能够访问启动时创建的队列
以前,我通过启动线程并在../monitor/url.py中创建队列来实现这一点,但这是有问题的,因为它只会在对该应用程序的第一个http请求时运行
任何人都知道最好的方法,或者我应该用一种完全不同的方法。为了简单起见,我希望避免使用rabbitmq/redis等专用队列。您在此处使用的
队列
设计用于在所有线程由一个主进程管理时进行通信:
队列模块实现多生产者、多消费者队列。信息技术
在线程编程中,当信息必须
在多个线程之间安全地交换。此队列中的队列类
模块实现所有必需的锁定语义。这取决于
Python中线程支持的可用性;请参阅线程
模块
在进行web开发时,情况并非如此
您需要将队列进程与web进程完全分离;你现在这样做,我甚至无法想象将来会造成多少问题
您需要有三个独立的流程:
请阅读在django中,哪一种是轻松完成所有这些工作的实际标准方式。请用一个例子更新您的问题,说明您正在尝试做什么,我不清楚您的wsgi文件与您的视图有什么关系