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

增加前置和后置任务 #2

Closed
cjdxhjj opened this issue Oct 12, 2015 · 3 comments
Closed

增加前置和后置任务 #2

cjdxhjj opened this issue Oct 12, 2015 · 3 comments

Comments

@cjdxhjj
Copy link

cjdxhjj commented Oct 12, 2015

有些任务,比如系统间定期数据同步,需要将已有数据清空,然后将新数据导入到系统中,并且前置任务只执行一次(执行前j环境准备)。目前没有相关方法做此工作,建议在任务执行主节点进行任务分配之前或之后由主节点执行相应回调,如init.

@terrymanu
Copy link
Member

由于各个任务是分布式的,由于各个服务器有时间差,无法保证主节点一定最先执行。
如果从节点先于主节点执行,会发生init方法还没有执行的问题,从节点作业就运行的问题。
改为主节点不执行,其他节点阻塞,有2个问题:

  1. 吞吐量下降
  2. 如何判断主节点在本次作业中是否执行过。因为作业循环往复,本次执行结束和下次执行开始在分布式环境下无法区分

欢迎讨论,
如果可以有方法实现让主节点一定优先于从节点执行的方法,这个issue才可以继续做。

@terrymanu terrymanu changed the title 不能创建前置任务 [未确定的问题] 不能创建前置任务 Oct 29, 2015
@joock
Copy link

joock commented Nov 26, 2015

1、每个任务完成之后写zk,分片任务写多个节点,leader监听父节点,所有任务都完成则设置任务完成的标记位。
2‘、在后置任务中指定前置任务,后置任务到达执行时间的时候,先检测前置任务是否执行完毕,如果没有执行完毕,则等待一定的时间。
2‘’,在后置任务中指定前置任务,前置任务完成之后,发送通知驱动后置任务启动。
2‘’‘,在后置任务中制定前置任务,后置任务监听前置任务创建的zk节点,前置任务设置任务完成的标记位时,后置任务的watcher收到通知,后置任务启动。
@terrymanu 不知以上方案是否可行,请百忙中参考一下~ :)
刚开始读代码~不知道最近能否实现以上方案,并pull request~

@gl2001wl
Copy link
Contributor

任务依赖,之前使用quartz自己的listener实现的,前置自动触发后置的

@terrymanu terrymanu changed the title [未确定的问题] 不能创建前置任务 [功能提升] 不能创建前置任务 Mar 8, 2016
@terrymanu terrymanu changed the title [功能提升] 不能创建前置任务 [功能提升] 增加前置和后置任务 Mar 8, 2016
@terrymanu terrymanu changed the title [功能提升] 增加前置和后置任务 [Improvement] 增加前置和后置任务 Mar 8, 2016
@terrymanu terrymanu changed the title [Improvement] 增加前置和后置任务 增加前置和后置任务 Jul 12, 2016
haocao pushed a commit that referenced this issue Feb 17, 2017
修改点:增加了修复线程,并可配置。
haocao pushed a commit that referenced this issue May 4, 2017
terrymanu pushed a commit that referenced this issue Jun 30, 2017
tuohai666 pushed a commit to tuohai666/shardingsphere-elastic-job-lite that referenced this issue Jun 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants