powerjob的使用

1、应用注册

注册后使用注册的服务名和密码登录

2、java服务注册到powerjob应用

akka-port:指定使用哪个端口去连powerjob,这个端口要在java服务部署到docker的时候对外开放

powerjob:
  worker:
    akka-port: 42103
    app-name: yu_bei_factory_prd_qualityCenter_job
    server-address: 192.168.1.225:7700
    store-strategy: disk

 3、查看集群列表

4、Java服务编写powerjob任务

@Component
public class InstrumentInfoProcessor implements BasicProcessor {

    private final Logger logger = LoggerFactory.getLogger(InstrumentInfoProcessor.class);

    @Override
    public ProcessResult process(TaskContext taskContext) throws Exception {
        // 任务id
        String taskInstanceId = taskContext.getInstanceId().toString();
        taskContext.getOmsLogger().info("开始:TaskContext[{}]", taskInstanceId);

        // 任务参数
        String jobParams = taskContext.getJobParams();
        int plusYears = 0;
        int plusMonths = 1;
        int plusDays = 0;
        if (StringUtils.isNotEmpty(jobParams)) {
            JSONObject jsonObject = JSONObject.parseObject(jobParams);
            if (jsonObject.containsKey("plusYears")) {
                plusYears = jsonObject.getInteger("plusYears");
            }
            if (jsonObject.containsKey("plusMonths")) {
                plusMonths = jsonObject.getInteger("plusMonths");
            }
            if (jsonObject.containsKey("plusDays")) {
                plusDays = jsonObject.getInteger("plusDays");
            }
        }

        // 当前时间 + 1个月(提前一个月生成计划)
        LocalDateTime jobEndTime = LocalDateTime.now().plusYears(plusYears).plusMonths(plusMonths).plusDays(plusDays);

        // 执行任务内容
        

        taskContext.getOmsLogger().info("结束:TaskContext[{}]", taskInstanceId);
        return new ProcessResult(true, "数据生成完毕");
    }
}

 5、在powerjob中配置任务

使用json字符串传参数:{ "plusYears": 0, "plusMonths": 1, "plusDays": 0 }

使用 ip:port,ip:port,... 指定使用集群中的哪些服务执行

6、powerjob的数据库

app_info 存放的是用户注册的服务名和密码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值