8000
We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
对于一些通用型的任务,通过传递不同的参数来实现不同的功能,比如 二次封装了 kettle ,通过指定不同的脚本文件,实现不同ETL 功能。如果需要执行多个 ETL 任务,而工作流中不支持导入重复的任务那么就只能配置多个相似的任务(仅有参数不一样)来实现,数据十分冗余。
工作流中支持任务重复导入,并且支持任务参数的个性化配置。
利用工作流将逻辑相对独立的任务编排组合,实现一个复杂的功能,但业务方有时候会要求暂时不需要执行某个任务,过一段时间再恢复。如果不支持将工作流的某个节点禁用,那么就只能将该节点删除,再调整 DAG 结构,过一段时间再将任务添加回来,重新调整 DAG 结构,操作较为繁琐,ORZ
支持禁用工作流中的节点,在执行到该任务节点时,直接跳过,视为执行成功。
工作流中的某些任务即使失败了也不影响主流程,比如 通知类 的任务,如果不支持就只能在 Processor 做特殊处理,无法直观的看到真正的执行结果(成功 or 失败)。
支持指定工作流中的某些节点执行失败时,仅记录日志,直接跳过,不影响后面的工作流执行。
(๑•̀ㅂ•́)و✧
The text was updated successfully, but these errors were encountered:
我现在完全理解了你说的“参数个性化”,即相同的任务在不同的工作流下的表现形式不一样(参数、执行行为等(比如节点禁用、失败配置)),那么我原来提的那个方案是有问题的,不过大致思路是相同的。
目前看来,原来的那一份 extra 参数 {"jobParams": "xxx", "skipInWorkflow": true, "brokenWorkflowWhenFailed": false}不应该放到 job_info 表中了(也没办法放,因为不同工作流下的 job 这份参数可能不一样),而是直接存到 DAG 的图节点中。这样一样可以在 server 调度时拿到并执行相应的逻辑。
{"jobParams": "xxx", "skipInWorkflow": true, "brokenWorkflowWhenFailed": false}
Sorry, something went wrong.
把配置放到 com.github.kfcfans.powerjob.common.model.PEWorkflowDAG.Node 纬度的话,好像也没必要用 extra 存 JSON 了,直接拍平为3个字段就行。
以上是我的一些实现思路,你们可以看看,大家一起讨论~
嗯嗯,等具体方案出来再讨论(下周二前) (๑•̀ㅂ•́)و✧
好的~ 真高效,哈哈~
Echo009
No branches or pull requests
支持任务重复导入、参数个性化
需求背景
对于一些通用型的任务,通过传递不同的参数来实现不同的功能,比如 二次封装了 kettle ,通过指定不同的脚本文件,实现不同ETL 功能。如果需要执行多个 ETL 任务,而工作流中不支持导入重复的任务那么就只能配置多个相似的任务(仅有参数不一样)来实现,数据十分冗余。
解决方案
工作流中支持任务重复导入,并且支持任务参数的个性化配置。
节点禁用
需求背景
利用工作流将逻辑相对独立的任务编排组合,实现一个复杂的功能,但业务方有时候会要求暂时不需要执行某个任务,过一段时间再恢复。如果不支持将工作流的某个节点禁用,那么就只能将该节点删除,再调整 DAG 结构,过一段时间再将任务添加回来,重新调整 DAG 结构,操作较为繁琐,ORZ
解决方案
支持禁用工作流中的节点,在执行到该任务节点时,直接跳过,视为执行成功。
任务失败跳过
需求背景
工作流中的某些任务即使失败了也不影响主流程,比如 通知类 的任务,如果不支持就只能在 Processor 做特殊处理,无法直观的看到真正的执行结果(成功 or 失败)。
解决方案
支持指定工作流中的某些节点执行失败时,仅记录日志,直接跳过,不影响后面的工作流执行。
(๑•̀ㅂ•́)و✧
The text was updated successfully, but these errors were encountered: