powerjob-solon-cloud-plugin
此插件,由社区成员(fzdwx)贡献
<dependency>
<groupId>org.noear</groupId>
<artifactId>powerjob-solon-cloud-plugin</artifactId>
</dependency>
1、描述
分布式扩展插件。基于 powerjob(代码仓库)适配的 solon cloud job 插件。v2.0.0 后支持
2、云端能力接口
接口 | 说明 | 备注 |
---|---|---|
CloudJobService | 云端定时任务服务 | 只支持云端调度 |
3、配置示例
solon.app:
name: demoapp
group: demo
solon.cloud.powerjob:
server: 127.0.0.1:7700
password: 123456
job:
port: 28888
protocol: akka
solon.logging.logger:
"io.netty.*":
level: INFO
4、代码应用
- Solon cloud Job 标准应用:(可自由切换不同插件)
//将转为 BasicProcessor 进行调度
@CloudJob(name = "job1", cron7x = "0 1 * * * ?")
public class Job1 implements CloudJobHandler {
@Override
public void handle(Context ctx) throws Throwable {
//如果有需求,可获取调度上下文
//TaskContext jobContext = (TaskContext)ctx.request();
}
}
- Solon cloud Job 标准注解 + 个性化应用:(不可自由切换插件)
//做为 method 运行(将转为 BasicProcessor 进行调度)
@Component
public class Job2Com {
@CloudJob("job2")
public ProcessResult job2(TaskContext jobContext){
return new ProcessResult(true, "Hello job!");
}
}
//做为 class 运行(支持所有 Processor 类型)
//没有取job name 时,将使用全类名进行调度(建议用 job name,免得类有移动)
@CloudJob
public class Job3 implements BroadcastProcessor {
@Override
public ProcessResult process(TaskContext jobContext) throws Exception {
return new ProcessResult(true, "Hello job!");
}
}
5、演示项目
https://gitee.com/noear/solon-examples/tree/main/9.Solon-Cloud/demo9064-job_powerjob