我正在使用 AWS Elasticsearch 服务。在开发环境中有 t3.small 实例。我有大约 15,000 条记录,我想将它们作为批量索引。我所做的是将这笔金额分成每个 250 个项目的块(或小于 10 MiB)。并使用刷新 =“wait_for”选项逐一运行 _bulk 请求,并等待请求完成后再发送下一个请求。在某个时刻,大约在第 25 次迭代时,请求立即失败并显示消息
429 Too Many Requests /_bulk
Run Code Online (Sandbox Code Playgroud)
以防万一,如果块大小为 500,这将在 25/2 请求(大约 12)上失败
它没有告诉更多的事情。仅此而已,我无法理解如果没有其他任何东西可以与我并行发送批量请求,为什么会发生这种情况。我检查了数据大小小于10MB。
我已经拥有的
出现该错误的原因可能是什么?如果我一致发送所有内容,如何保证我的请求不会失败?我可以通过任何其他选项来确保批量请求完全完成吗?
到处都说 markForCheck 只是将当前组件视图和所有父组件(直到根组件)标记为脏组件。因此下次执行 DetectChanges 时它将更新视图。从这一点上我有两个问题。两者都在该组件具有的上下文中changeDetection: ChangeDetectionStrategy.OnPush
1)如果“async pipeline”除了调用markForCheck(源代码)什么都不做,为什么视图会更新?
2)如果我尝试在某个异步进程中调用markForCheck,视图也会更新。
演示:stackblitz
您能帮助我了解这些过程中发生的情况以及视图实际更新的原因吗?我期待有人在 1) 和 2) 之后调用 DetectChanges 方法,但是谁......