Python Django-字典在下一个端点上变为空
我有一个程序,它使用数据库中的数据启动多个线程,并将线程对象存储在字典中Python Django-字典在下一个端点上变为空,python,django,multithreading,dictionary,Python,Django,Multithreading,Dictionary,我有一个程序,它使用数据库中的数据启动多个线程,并将线程对象存储在字典中 thread\u manager.py threads = {} ............ #controller for /start-threads def start_threads(request): datas = Data.objects.all() for data in datas: thread = MyThread(data) threads[dat
thread\u manager.py
threads = {}
............
#controller for /start-threads
def start_threads(request):
datas = Data.objects.all()
for data in datas:
thread = MyThread(data)
threads[data.id] = thread
thread.start()
return HttpResponse("all threads are running")
def get_thread(id,request):
return threads[id]
此时,threads dictionary中包含了所有线程,我可以使用threads[id]访问thread对象,如果现在尝试从另一个端点获取线程(im使用django)
线程字典此时是空的(ofc我得到一个keyerror),如果我在本地服务器上运行它,一切正常。如果我在运行django的uwsgi的实时服务器上运行这个。它不起作用,这是uWsgi的问题还是我做错了什么,thanx 您的服务器几乎肯定运行着多个进程。但是线程属于单个进程;您无法从其他服务器访问它们
您不需要说明如何使用这些线程,但脱机工作通常最好使用芹菜这样的特定系统。您的服务器几乎肯定运行多个进程。但是线程属于单个进程;您无法从其他服务器访问它们
你不会说你在用这些线程做什么,但离线工作通常最好用芹菜这样的特定系统来完成。你是对的,leme调整数字,然后再次检查,thanxbtw有没有更好的方法来存储线程| |访问它们?你是对的,leme调整数字,然后再次检查,thanxbtw有没有更好的方法来存储线程| |访问它们?
views.py
import thread_manager
def get_thread(request, id):
thread = thread_manager.get_thread(id, request)
return HttpResponse("got thread with id {0}".format(id))