小编Apa*_*P L的帖子

Kinesis 客户端库记录处理器故障

根据AWS 文档

工作者使用 Java ExecutorService 任务调用记录处理器方法。如果任务失败,worker 保留对记录处理器正在处理的分片的控制。worker 启动一个新的记录处理器任务来处理该分片。有关更多信息,请参阅读取限制。

根据AWS 文档的另一页

Kinesis 客户端库 (KCL) 依靠您的 processRecords 代码来处理因处理数据记录而产生的任何异常。从 processRecords 抛出的任何异常都会被 KCL 吸收。为避免对重复出现的故障进行无限重试,KCL 不会重新发送发生异常时处理的记录批次。然后 KCL 为下一批数据记录调用 processRecords,而无需重新启动记录处理器。这有效地导致消费者应用程序观察到跳过的记录。为防止跳过记录,请适当处理 processRecords 中的所有异常。

这两个不是自相矛盾的说法吗?一个说记录处理器重新启动,另一个说跳过了分片。当记录处理器出现故障时,KCL 究竟会做什么?KCL 工作人员如何知道记录处理器是否发生故障?

amazon-web-services amazon-dynamodb amazon-kcl

6
推荐指数
1
解决办法
1504
查看次数

ImportError:动态模块未定义模块导出功能(PyInit_cv2)

当我尝试在IPython中导入cv2时,出现此错误-

ImportError:动态模块未定义模块导出功能(PyInit_cv2)

我有opencv 3.0,ubuntu 14.04,python 3.4。
我在网上搜索,但找不到任何答案。

ipython opencv3.0

5
推荐指数
1
解决办法
2万
查看次数