Apache flink 有没有办法让flink在工作级别或任务级别超时?

Apache flink 有没有办法让flink在工作级别或任务级别超时?,apache-flink,Apache Flink,我的工作是将一些正则表达式应用于大量字符串。 这是通过创建一个交叉连接作业来实现的,该作业使用字符串列表和正则表达式列表作为输入 通常情况下,这运行正常,但对于某个输入和正则表达式对,偶尔会有一次任务执行从未终止-主要原因是输入太大/正则表达式效率不高 在这种情况下,我更希望任务得到“超时”,或者整个作业得到“超时”,这样我就知道有问题,跳过处理 我查阅了flink配置文件,但没有找到答案 我在任务中创建了一个未来的异步线程,并在一段时间后取消它以应用正则表达式,但这似乎是一种过度的解决方法。因

我的工作是将一些正则表达式应用于大量字符串。 这是通过创建一个交叉连接作业来实现的,该作业使用字符串列表和正则表达式列表作为输入

通常情况下,这运行正常,但对于某个输入和正则表达式对,偶尔会有一次任务执行从未终止-主要原因是输入太大/正则表达式效率不高

在这种情况下,我更希望任务得到“超时”,或者整个作业得到“超时”,这样我就知道有问题,跳过处理

我查阅了flink配置文件,但没有找到答案


我在任务中创建了一个未来的异步线程,并在一段时间后取消它以应用正则表达式,但这似乎是一种过度的解决方法。因此,我们正在寻找更好的解决方案。

Flink没有工作限制,可以满足您的需求。因为这听起来非常面向批处理,我也不认为这是一个正在积极开发的特性

尽管如此,您的解决方案实际上已经相当不错了。其他解决方案取决于您的基础架构。如果你使用气流或任何其他工作流系统触发作业,我可以想象他们可以在一段时间后取消任务。如果在K8s或纱线上运行,则可以限制总资源使用量。但是如果你不使用它,那么你的解决方案就是一个很好的安全防护


还有一些想法:你真的需要慢的java正则表达式吗?或者你可以使用java正则表达式或其他库吗?您能在非常大的输入字符串上添加一些健全性检查并跳过它们吗?你能不能在时间用完后停止应用
交叉函数
(优雅终止)?

谢谢你的指点,现在它是一个独立的集群,但我也将探索K8s。我不想使用Thread,因为它需要安装hadoop,而且我想保持它的轻量级。现在我对java正则表达式很满意,因为只要它们生成输出就可以了,它不应该占用无限的时间(像现在这样)。我更喜欢通用的任务终止策略,因为它可能由于其他未知原因(例如代码中的bug)而发生。因此,现在我将探索K8,看看是否可以在超时时终止任务。我已经通过它的网站,任何其他链接将是有益的!这里有一些相关的线索,可能已经为您解决了问题。有一个GNU命令
超时