分布式任务调度系统chaconne介绍,linux高级教程

本文介绍了Chaconne分布式任务调度系统,包括DAG任务示例、去中心化和中心化部署方式,以及Chaconne Console的使用。此外,还提到了面试准备,强调了算法和数据结构的重要性。
摘要由CSDN通过智能技术生成

@ChacJob

@ChacTrigger(triggerType = TriggerType.SIMPLE)

public class DemoTaskOne {



	@Run

	public Object execute(JobKey jobKey, Object attachment, Logger log) throws Exception {

		log.info("DemoTaskOne is running at: {}", DateUtils.format(System.currentTimeMillis()));

		return RandomUtils.randomLong(1000000L, 1000000000L);

	}



	@OnSuccess

	public void onSuccess(JobKey jobKey, Object result, Logger log) {

		log.info("DemoTaskOne return value is: {}", result);

	}



	@OnFailure

	public void onFailure(JobKey jobKey, Throwable e, Logger log) {

		log.error("DemoTaskOne is failed by cause: {}", e.getMessage(), e);

	}



} 

DemoTaskTwo:

@ChacJob

@ChacTrigger(triggerType = TriggerType.SIMPLE)

public class DemoTaskTwo {



	@Run

	public Object execute(JobKey jobKey, Object attachment, Logger log) throws Exception {

		log.info("DemoTaskTwo is running at: {}", DateUtils.format(System.currentTimeMillis()));

		return RandomUtils.randomLong(1000000L, 1000000000L);

	}



	@OnSuccess

	public void onSuccess(JobKey jobKey, Object result, Logger log) {

		log.info("DemoTaskTwo return value is: {}", result);

	}



	@OnFailure

	public void onFailure(JobKey jobKey, Throwable e, Logger log) {

		log.error("DemoTaskTwo is failed by cause: {}", e.getMessage(), e);

	}

	

} 

DemoTask:

@ChacJob

@ChacTrigger(cron = "0 0/1 * * * ?", triggerType = TriggerType.CRON)

@ChacFork({ @ChacJobKey(className = "com.chinapex.test.chaconne.job.DemoTaskOne", name = "demoTaskOne"),

		@ChacJobKey(className = "com.chinapex.test.chaconne.job.DemoTaskTwo", name = "demoTaskTwo") })

public class DemoTask {



	@Run

	public Object execute(JobKey jobKey, Object attachment, Logger log) throws Exception {

		log.info("DemoTask is running at: {}", DateUtils.format(System.currentTimeMillis()));

		TaskJoinResult joinResult = (TaskJoinResult) attachment;

		TaskForkResult[] forkResults = joinResult.getTaskForkResults();

		long max = 0;

		for (TaskForkResult forkResult : forkResults) {

			max = Long.max(max, (Long) forkResult.getResult());

		}

		return max;

	}



	@OnSuccess

	public void onSuccess(JobKey jobKey, Object result, Logger log) {

		log.info("DemoTask return max value is: {}", result);

	}



	@OnFailure

	public vo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值