定时任务Demo
本小结介绍一个AbleCloud云端定时任务示例。
一个完整的云端定时任务由两部分组成:
-
定时规则:定义任务的执行时间。
AbleCloud支持Crontab格式的时间定义(详见:Crontab定时规则)。
-
定时任务可执行程序
其中,定时规则是由开发者在AbleCloud控制台中创建定时任务时设置。本小结介绍的示例是开发定时任务的可执行程序。
场景介绍
本示例的可执行程序完成的任务仅是打印一条日志:任务执行的实际时间。
在AbleCloud控制台中创建该定时任务时,设置的定时规则是“*/2 * * * *”,表示每隔2分钟执行一次本任务。
实现思路
- 按要求从ACCronJob派生子类型,在派生类中实现父类定义的抽象方法ACCronJob::run;
- 通过AbleCloud控制台创建定时任务,设置任务的定时规则;
- 通过AbleCloud控制台上传任务的可执行程序,创建定时任务的版本,然后“上线”该版本以启动该定时任务。
可执行程序的具体实现
下文示例中,DemoCronJob是ACCronJob的派生类型,并且实现了父类定义的抽象方法ACCronJob::run。
package com.ablecloud.demo;
import com.ablecloud.service.ACCronJob;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class DemoCronJob extends ACCronJob {
// 日志工具
private static final Logger logger = LoggerFactory.getLogger(DemoCronJob.class);
@Override
public int run() throws Exception {
// 在日志中记录任务的执行时间
logger.info("任务执行时间:" + new java.util.Date().toString() + "。");
return 0; // 返回状态码0,表示任务执行成功。
}
}