From 5211e8f18e9d6a4b2a9c7c19ba00b09a8c2a5068 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Wed, 14 Oct 2026 11:10:38 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=8C=89=E4=B8=9A=E5=8A=A1=E5=A4=8D?= =?UTF-8?q?=E6=9D=82=E5=BA=A6=E9=94=99=E5=B3=B0=E5=88=86=E6=95=A3=E9=87=91?= =?UTF-8?q?=E8=9D=B6BFI=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E8=B0=83?= =?UTF-8?q?=E5=BA=A6=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原 6 个调度默认值全部压在整点边界(:00/:10/:20 同时起 4 个重任务),按复杂度错开起始分钟、频率不变、互不重叠:payResult :01/10min、receiptClaimPush :04/10min、autoSync.retry :05/10min、receivedInvoiceResult :08/10min、invoiceReceipt :16/30min、billLock.retry :02/5min;整点留缓冲,同步更新代码默认值、本地 yaml 兜底与 Nacos blade-dev.yaml --- .../task/InvoiceReceiptKingdeeSyncTask.java | 2 +- .../transport/task/KingdeeAutoSyncRetryTask.java | 2 +- .../transport/task/KingdeeBillLockRetryTask.java | 2 +- .../transport/task/PaymentKingdeeResultTask.java | 4 ++-- .../transport/task/ReceiptClaimPushTask.java | 2 +- doc/nacos/third-party-api.yaml | 16 ++++++++-------- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/task/InvoiceReceiptKingdeeSyncTask.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/task/InvoiceReceiptKingdeeSyncTask.java index fd72b9d2..91c6ed0f 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/task/InvoiceReceiptKingdeeSyncTask.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/task/InvoiceReceiptKingdeeSyncTask.java @@ -51,7 +51,7 @@ public class InvoiceReceiptKingdeeSyncTask { private final BfiProperties bfiProperties; /** 金蝶全票池同步调度,默认每30分钟执行一次 */ - @Scheduled(cron = "${thirdParty.bfi.invoiceReceipt.cron:0 */30 * * * ?}") + @Scheduled(cron = "${thirdParty.bfi.invoiceReceipt.cron:0 16/30 * * * ?}") public void syncKingdeeInvoicePool() { if (!bfiProperties.getInvoiceReceipt().isSyncEnabled()) { return; diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/task/KingdeeAutoSyncRetryTask.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/task/KingdeeAutoSyncRetryTask.java index 657dc994..2ea845b7 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/task/KingdeeAutoSyncRetryTask.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/task/KingdeeAutoSyncRetryTask.java @@ -55,7 +55,7 @@ public class KingdeeAutoSyncRetryTask { private final BfiProperties bfiProperties; /** failed 定时重推调度,默认每10分钟执行一次 */ - @Scheduled(cron = "${thirdParty.bfi.autoSync.retryCron:0 */10 * * * ?}") + @Scheduled(cron = "${thirdParty.bfi.autoSync.retryCron:0 5/10 * * * ?}") public void retryKingdeeFailed() { if (!bfiProperties.getAutoSync().isRetryEnabled()) { return; diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/task/KingdeeBillLockRetryTask.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/task/KingdeeBillLockRetryTask.java index 6fc77759..d306ed92 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/task/KingdeeBillLockRetryTask.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/task/KingdeeBillLockRetryTask.java @@ -35,7 +35,7 @@ public class KingdeeBillLockRetryTask { private final BfiProperties bfiProperties; /** 锁定补偿调度,默认每5分钟执行一次 */ - @Scheduled(cron = "${thirdParty.bfi.billLock.retryCron:0 */5 * * * ?}") + @Scheduled(cron = "${thirdParty.bfi.billLock.retryCron:0 2/5 * * * ?}") public void retryFailedBillLocks() { if (!bfiProperties.getBillLock().isRetryEnabled()) { return; diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/task/PaymentKingdeeResultTask.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/task/PaymentKingdeeResultTask.java index ed8217fa..29f0e88a 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/task/PaymentKingdeeResultTask.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/task/PaymentKingdeeResultTask.java @@ -57,7 +57,7 @@ public class PaymentKingdeeResultTask { private final BfiProperties bfiProperties; /** 金蝶结果回写调度,默认每10分钟执行一次 */ - @Scheduled(cron = "${thirdParty.bfi.payResult.cron:0 */10 * * * ?}") + @Scheduled(cron = "${thirdParty.bfi.payResult.cron:0 1/10 * * * ?}") public void syncKingdeePaymentResult() { if (!bfiProperties.getPayResult().isSyncEnabled()) { return; @@ -86,7 +86,7 @@ public class PaymentKingdeeResultTask { } /** 金蝶收票单结果回写调度(异常回收/指定补偿/单号补登),默认每10分钟执行一次 */ - @Scheduled(cron = "${thirdParty.bfi.receivedInvoiceResult.cron:0 */10 * * * ?}") + @Scheduled(cron = "${thirdParty.bfi.receivedInvoiceResult.cron:0 8/10 * * * ?}") public void syncKingdeeReceivedInvoiceResult() { if (!bfiProperties.getReceivedInvoiceResult().isSyncEnabled()) { return; diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/task/ReceiptClaimPushTask.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/task/ReceiptClaimPushTask.java index 5aface75..ec681cf7 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/task/ReceiptClaimPushTask.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/task/ReceiptClaimPushTask.java @@ -52,7 +52,7 @@ public class ReceiptClaimPushTask { private final BfiProperties bfiProperties; /** 收款认领推送调度,默认每10分钟执行一次 */ - @Scheduled(cron = "${thirdParty.bfi.receiptClaimPush.cron:0 */10 * * * ?}") + @Scheduled(cron = "${thirdParty.bfi.receiptClaimPush.cron:0 4/10 * * * ?}") public void pushClaimToKingdee() { if (!bfiProperties.getReceiptClaimPush().isSyncEnabled()) { return; diff --git a/doc/nacos/third-party-api.yaml b/doc/nacos/third-party-api.yaml index 97727c9b..bef19d66 100644 --- a/doc/nacos/third-party-api.yaml +++ b/doc/nacos/third-party-api.yaml @@ -77,14 +77,14 @@ thirdParty: payResult: # 回写任务开关 syncEnabled: ${BFI_PAY_RESULT_SYNC_ENABLED:true} - # 调度 cron,默认每10分钟 - cron: ${BFI_PAY_RESULT_CRON:0 */10 * * * ?} + # 调度 cron,默认每10分钟(:01 起步,错峰避让其他金蝶任务) + cron: ${BFI_PAY_RESULT_CRON:0 1/10 * * * ?} # 收款认领推送金蝶定时任务(A301-3 收款认领结果推送) receiptClaimPush: # 推送任务开关,默认关闭(联调稳定后开启) syncEnabled: ${BFI_RECEIPT_CLAIM_PUSH_SYNC_ENABLED:false} - # 调度 cron,默认每10分钟 - cron: ${BFI_RECEIPT_CLAIM_PUSH_CRON:0 */10 * * * ?} + # 调度 cron,默认每10分钟(:04 起步,错峰避让其他金蝶任务) + cron: ${BFI_RECEIPT_CLAIM_PUSH_CRON:0 4/10 * * * ?} # single-flight 分布式锁租约秒数,须大于最坏一轮耗时(逐认领人远程查公告+逐条推送), # 进程异常退出时锁在租约到期后自动释放 lockLeaseSeconds: ${BFI_RECEIPT_CLAIM_PUSH_LOCK_LEASE_SECONDS:1800} @@ -98,8 +98,8 @@ thirdParty: invoiceReceipt: # 同步任务开关,默认关闭(上线先手动 POST /invoice-receipt/sync-invoice-pool 跑一次全窗口铺底) syncEnabled: ${BFI_INVOICE_RECEIPT_SYNC_ENABLED:false} - # 调度 cron,默认每30分钟 - cron: ${BFI_INVOICE_RECEIPT_CRON:0 */30 * * * ?} + # 调度 cron,默认每30分钟(:16 起步,错峰避让其他金蝶任务) + cron: ${BFI_INVOICE_RECEIPT_CRON:0 16/30 * * * ?} # 增量窗口天数(按票池更新时间滚动) incrementDays: ${BFI_INVOICE_RECEIPT_INCREMENT_DAYS:30} # 同步发票种类白名单(逗号分隔票易通编码,如 26,27 数电普票/专票),为空不限制 @@ -120,5 +120,5 @@ thirdParty: receipt: ${BFI_AUTO_SYNC_RECEIPT:false} # failed 单据定时重推开关(仅重推生成失败,不扫 unsynced 存量) retryEnabled: ${BFI_AUTO_SYNC_RETRY_ENABLED:false} - # 重推调度 cron,默认每10分钟 - retryCron: ${BFI_AUTO_SYNC_RETRY_CRON:0 */10 * * * ?} + # 重推调度 cron,默认每10分钟(:05 起步,错峰避让其他金蝶任务) + retryCron: ${BFI_AUTO_SYNC_RETRY_CRON:0 5/10 * * * ?}