package cn.iocoder.yudao.module.mes.framework.bagcode; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; /** * MES 袋码批量生成配置项 *
* 小批量仍在请求线程内同步完成,保证秒回;大批量转后台任务,分段生成、可取消。 */ @Data @Component @ConfigurationProperties(prefix = "mes.bag-code.generate") public class MesProBagCodeGenerateProperties { /** * 同步/异步的分界线(袋码数) *
* 不超过该数量在请求线程内完成;超过则落任务转后台生成。 */ private int syncThreshold = 20000; /** * 每段落库的袋码数量(同时也是每批取码数量) */ private int chunkSize = 5000; /** * 同时允许运行的后台生成任务数 */ private int maxConcurrentTasks = 1; /** * 单次生成袋码上限 */ private int maxTaskCount = 1000000; /** * 单个后台任务的最长运行时间(分钟),超时自动终止并清理 */ private int maxRuntimeMinutes = 30; /** * 前端轮询建议间隔(秒),仅用于下发给前端 */ private int pollIntervalSeconds = 2; /** * 清理任务每轮最多删除的行数,避免长时间占用数据库 *
* 分批删除,单次清理上限用于控制删除任务对线上写入的影响。 */ private int cleanupBatchSize = 5000; }