Skip to content
New issue

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

feat: 优化超级恢复功能 #131

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

livolleyball
Copy link

问题:
image

对 Job 1-0 进行超级恢复,当 Job 2-0运行成功时,Job 2-1 还是running 状态 ,Job 3-1 是 success 状态; 此时会拉起 Job 4-0 ,job 4-0 检查上游 (Job 2-0 / 3-1)状态均为 success, 会执行一次
当 Job 2-1 25 秒之后执行成功,会拉起 job 3-1, job 3-1 执行成功之后 拉起 job 4-0, 4-0 会再次执行

优化:
在 进行超级恢复时, 将节点下游的 actions 全部先置为 SUPER_RECOVER_ING 超级恢复中 .

@zichen-fei
Copy link

zichen-fei commented Dec 8, 2023

job 4-0不会主动去检查上游,任务是否执行依赖上游的事件广播
job 2-0成功后向下游广播一次任务成功事件,此时 job 4-0 并不会执行,需要再收到 job 3-1 广播的成功事件才会执行
可以看下 handleSuccessEvent 是怎么处理的

@livolleyball
Copy link
Author

job 4-0不会主动去检查上游,任务是否执行依赖上游的事件广播 job 2-0成功后向下游广播一次任务成功事件,此时 job 4-0 并不会执行,需要再收到 job 3-1 广播的成功事件才会执行 可以看下 handleSuccessEvent 是怎么处理的

你说的应该是 每天第一波的正常逻辑吧 。 我这针对的是 超级恢复的逻辑。 可以本地启动一下 hera ,测试一下

@zichen-fei
Copy link

zichen-fei commented Jan 30, 2024

job 4-0不会主动去检查上游,任务是否执行依赖上游的事件广播 job 2-0成功后向下游广播一次任务成功事件,此时 job 4-0 并不会执行,需要再收到 job 3-1 广播的成功事件才会执行 可以看下 handleSuccessEvent 是怎么处理的

你说的应该是 每天第一波的正常逻辑吧 。 我这针对的是 超级恢复的逻辑。 可以本地启动一下 hera ,测试一下

没有主动去检查上游实例状态这个逻辑,SCHEDULE(自动调度),MANUAL_RECOVER(手动恢复),SUPER_RECOVER(超级恢复),只要实例是这几种触发类型,都会走Dispatcher,任务成功后都会广播HeraJobSuccessEvent,触发下游

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants