以下是我正在运行的代码片段,它使用多处理并行地触发HTTP请求。在控制台上运行后,它将挂起“requests.get(url)”,既不继续也不抛出错误。Python:多处理和请求
def echo_100(q):
...
print "before"
r = requests.get(url)
print "after"
...
q.put(r)
q = multiprocessing.Queue()
p = multiprocessing.Process(target=echo_100,args=(q))
p.start()
p.join()
resp = q.get()
如果按顺序执行,'requests.get'是否返回URI? –
您是否正在清理队列(即从某处发出q.get())? –
requests.get需要第二个参数auth =('user','pass'),你确定你不需要它吗?此外,函数本身是否也能工作,即requests.get问题还是多处理问题? –