python-3.x - 有没有办法仅在 Kubernetes 作业失败时自动启动后续(不同)作业?
问题描述
语境:
我目前有一个 Python Flask 应用程序,当收到请求时,它会自动创建一个 Kubernetes 作业来运行一个进程。作业完成后,它将结果回传到特定端点(永不更改)。根据请求的具体情况,此过程的长度(时间)和资源需求可能会有很大差异。我为此使用 Jobs 的原因是它们能够在失败时重新启动。
问题:
即使允许最大重新启动,有时该过程也会出错。我想按照以下方式实现一些东西:
- 如果作业成功完成,则什么也不做。
- 如果在达到最大重试次数后作业失败,则运行
foo()
foo()
是一个非常简单的 Python 函数,它将发送带有导致作业未成功完成的请求参数的 HTTP 请求。它不一定是 Python 函数,但它是首选。
注意:我将作业需要执行的 python 函数中的所有内容都包装在一个广泛的错误异常中,但是,有时作业可能会由于内存不足而失败。
解决方案
为什么不在您的集群、knative 或 kubeless 或其他解决方案中实施无服务解决方案。
推荐阅读
- python - 从组矩阵中找到时间序列顺序的最佳方法
- node.js - createdAt 不能是数组或对象
- python - 如何制作 Mininet Python 脚本的可执行包?
- ms-access - “不支持联接表达式”对于两个以上的具有内部联接的 ON 条件
- javascript - 从 Firestore Firebase 的子集合数组中删除项目
- c# - 恢复 PictureBOX 中的数据类型
- scala - 为什么 Spark 结构化流式传输作业即使在引发异常后也不会终止
- javascript - index.js:1 警告:遇到两个具有相同键的孩子,`index`。索引是唯一的
- javascript - 使用 Array.find() 在对象数组中查找对象
- r - R:如何将与字母配对的列与与空列配对的另一列匹配以填充空列