3.不支持工作流: 无法配置各个任务之间的依赖关系,不适用于有DAG需求的场景
git clone https://github.com/KFCFans/PowerJob.git导入 IDE,源码结构如下,我们需要启动调度服务器(powerjob-server),同时在samples工程中编写自己的处理器代码
// 堆代码 duidaima.com oms.env=DAILY logging.config=classpath:logback-dev.xml ####### 数据库配置 ####### spring.datasource.core.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.core.jdbc-url=jdbc:mysql://remotehost:3306/powerjob-daily?useUnicode=true&characterEncoding=UTF-8 spring.datasource.core.username=root spring.datasource.core.password=No1Bug2Please3! spring.datasource.core.hikari.maximum-pool-size=20 spring.datasource.core.hikari.minimum-idle=5 ####### mongoDB配置,非核心依赖,可移除 ####### spring.data.mongodb.uri=mongodb://remotehost:27017/powerjob-daily ####### 邮件配置(启用邮件报警则需要) ####### spring.mail.host=smtp.163.com spring.mail.username=zqq spring.mail.password=qqz spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true spring.mail.properties.mail.smtp.starttls.required=true ####### 资源清理配置 ####### oms.log.retention.local=1 oms.log.retention.remote=1 oms.container.retention.local=1 oms.container.retention.remote=-1 oms.instanceinfo.retention=1 ####### 缓存配置 ####### oms.instance.metadata.cache.size=1024完成配置文件的修改后,可以直接通过启动类com.github.kfcfans.powerjob.server.OhMyApplication启动调度服务器,观察启动日志,查看是否启动成功~启动成功后,访问 http://127.0.0.1:7700/ ,如果能顺利出现Web界面,则说明调度服务器启动成功!
@Configuration public class OhMySchedulerConfig { @Bean public OhMyWorker initOMS() throws Exception { // 服务器HTTP地址(端口号为 server.port,而不是 ActorSystem port) List<String> serverAddress = Lists.newArrayList("127.0.0.1:7700"); // 1. 创建配置文件 OhMyConfig config = new OhMyConfig(); config.setPort(27777); config.setAppName("oms-test"); config.setServerAddress(serverAddress); // 如果没有大型 Map/MapReduce 的需求,建议使用内存来加速计算 config.setStoreStrategy(StoreStrategy.MEMORY); // 2. 创建 Worker 对象,设置配置文件 OhMyWorker ohMyWorker = new OhMyWorker(); ohMyWorker.setConfig(config); return ohMyWorker; } }编写自己的处理器:随便找个地方新建类,继承你想要使用的处理器(各个处理器的介绍可见官方文档,文档非常详细),这里为了简单演示,选择使用单机处理器BasicProcessor,以下是代码示例。
@Slf4j @Component public class StandaloneProcessorDemo implements BasicProcessor { @Override public ProcessResult process(TaskContext context) throws Exception { OmsLogger omsLogger = context.getOmsLogger(); omsLogger.info("StandaloneProcessorDemo start process,context is {}.", context); System.out.println("jobParams is " + context.getJobParams()); return new ProcessResult(true, "process successfully~"); } }启动示例程序,即直接运行主类com.github.kfcfans.powerjob.samples.SampleApplication,观察控制台输出信息,判断是否启动成功。