【发布时间】:2021-09-28 01:56:55
【问题描述】:
我正在为 python 使用 elasticsearch dsl 库。我在这样的线程应用程序中运行滚动扫描:
s = Search\
.from_dict(query)\
.using(es)\
.index(index)\
.doc_type(doc_type)\
.extra(slice=slice)
for hit in s.scan():
yield hit
可以有 32 个线程都运行在具有不同切片的同一滚动上。有时这会遇到429 Too Many Requests 错误,它会杀死整个过程。令人心碎的是,这可能会在卷轴开始 1 小时后发生,而这个过程只需要重新开始。
如何从 429 Too Many Requests 错误中恢复?是否可以在不重新启动整个滚动的情况下在最后一个滚动偏移处重试?
【问题讨论】:
标签: python elasticsearch