Skip to content

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

Open
livolleyball wants to merge 2 commits into
scxwhite:masterfrom
livolleyball:2.4.4-optimize
Open

feat: 优化超级恢复功能#131
livolleyball wants to merge 2 commits into
scxwhite:masterfrom
livolleyball:2.4.4-optimize

Conversation

@livolleyball

Copy link
Copy Markdown

问题:
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

zichen-fei commented Dec 8, 2023

Copy link
Copy Markdown

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

@livolleyball

Copy link
Copy Markdown
Author

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

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

@zichen-fei

zichen-fei commented Jan 30, 2024

Copy link
Copy Markdown

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