这是我在类中的 render_GET 函数,它继承自扭曲 HTTP 服务器中的 resource.Resource:
def render_GET(self, request):
file = request.args['file'][0]
altitude, azimuth, distance = request.args['position'][0].split(",")
self.update_render(file, altitude, azimuth, distance, request.args['clientID'][0])
# update_render() starts a thread that contacts this server again and POSTs data once done
self.add_client(request.args['clientID'][0])
while not self.client_data[request.args['clientID'][0]]:
# I GET STUCK HERE - the thread CANT send data to this dict since server is locked in this loop
time.sleep(0.5)
return "DONE"
发生的情况是我需要扭曲的服务器等到函数update_render
执行某些操作(此函数是异步的,所以通过调用self.update_render()
我只是启动它,不确定何时写入实际数据。的返回数据update_render()
写入 self.client_data 字典。
我需要在循环中检测这个dict的内容但是我被困在那里 - 似乎服务器被锁定在这个循环中但我需要它来响应其他客户端(它们异步填充self.client_data)