我使用线程和队列从他们的API请求交换数据,这里是一次交换(有几个这样的交换)
queueS = Queue.Queue()
q = threading.Thread(target=getData, args=(queueS,))
q.start()
我在while True
循环上运行脚本。然而,一个交换机每小时左右抛出一个错误并且脚本冻结
我有try: except: pass
所有内容,我无法弄清楚为什么脚本在抛出错误时不会跳过它。
解决这个问题的一种方法是每次都强制重启脚本。你们有什么感想 ?
编辑:getData函数显示在调用API时错误来自交换:
def getData(queue,exchange):
try:
data = requests.get(urls[exchange]).json()
queue.put(data)
except Exception as e:
print exchange, e
pass
然后它会在此之后停止并且不会继续。我怀疑它可能与多线程有关。