排产修改-sjx

liweidong
sunjianxi 3 months ago
parent 42d82756b7
commit 561dcd2a81
  1. 28
      blade-ops/blade-job/src/main/java/org/springblade/job/processor/scheduling/SchedulingProcessor.java
  2. 2
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/feign/WorkOrderClient.java

@ -10,6 +10,7 @@ import tech.powerjob.worker.core.processor.TaskContext;
import tech.powerjob.worker.core.processor.sdk.BasicProcessor; import tech.powerjob.worker.core.processor.sdk.BasicProcessor;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
/** /**
* 排产-排产定时任务 * 排产-排产定时任务
@ -24,9 +25,28 @@ public class SchedulingProcessor implements BasicProcessor {
@Override @Override
public ProcessResult process(TaskContext context) throws Exception { public ProcessResult process(TaskContext context) throws Exception {
log.info("排产定时任务开始"); log.info("排产定时任务开始,任务ID:{}", context.getTaskId()); // 增加任务ID便于排查
CompletableFuture<Void> runFuture = CompletableFuture.runAsync(()->client.scheduling()); try {
log.info("排产定时任务结束"); // 同步执行(或等待异步执行完成),避免任务提前返回
return new ProcessResult(true); CompletableFuture<Void> runFuture = CompletableFuture.runAsync(() -> {
try {
log.info("开始执行排产逻辑");
client.scheduling();
log.info("排产逻辑执行完成");
} catch (Exception e) {
log.error("client.scheduling()执行异常", e);
throw new RuntimeException(e); // 抛出异常让外层感知
}
});
// 等待异步任务完成(避免任务提前结束),可设置超时时间
runFuture.get(60, TimeUnit.MINUTES); // 假设排产最多执行60分钟,根据实际调整
log.info("排产定时任务结束");
return new ProcessResult(true);
} catch (Exception e) {
log.error("排产定时任务执行失败", e);
return new ProcessResult(false); // 明确返回失败,避免框架重试
}
} }
} }

@ -70,7 +70,7 @@ public class WorkOrderClient implements IWorkOrderClient {
public R<Void> scheduling() { public R<Void> scheduling() {
log.info("排产任务开始:"+ DateFormatUtils.format(new Date(),"yyyy-MM-dd HH:mm:ss")); log.info("排产任务开始:"+ DateFormatUtils.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
workOrderService.scheduling(); workOrderService.scheduling();
log.info("排任务结束:"+ DateFormatUtils.format(new Date(),"yyyy-MM-dd HH:mm:ss")); log.info("排任务结束:"+ DateFormatUtils.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
return R.success(); return R.success();
} }

Loading…
Cancel
Save