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 存放的是用户注册的服务名和密码


8219

被折叠的 条评论
为什么被折叠?



