云
7 小时以前 02a1ae81eba7b48223052fb833859f0a65dd7d21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package cn.iocoder.yudao.module.mes.framework.bagcode;
 
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
 
/**
 * MES 袋码批量生成配置项
 * <p>
 * 小批量仍在请求线程内同步完成,保证秒回;大批量转后台任务,分段生成、可取消。
 */
@Data
@Component
@ConfigurationProperties(prefix = "mes.bag-code.generate")
public class MesProBagCodeGenerateProperties {
 
    /**
     * 同步/异步的分界线(袋码数)
     * <p>
     * 不超过该数量在请求线程内完成;超过则落任务转后台生成。
     */
    private int syncThreshold = 20000;
 
    /**
     * 每段落库的袋码数量(同时也是每批取码数量)
     */
    private int chunkSize = 5000;
 
    /**
     * 同时允许运行的后台生成任务数
     */
    private int maxConcurrentTasks = 1;
 
    /**
     * 单次生成袋码上限
     */
    private int maxTaskCount = 1000000;
 
    /**
     * 单个后台任务的最长运行时间(分钟),超时自动终止并清理
     */
    private int maxRuntimeMinutes = 30;
 
    /**
     * 前端轮询建议间隔(秒),仅用于下发给前端
     */
    private int pollIntervalSeconds = 2;
 
    /**
     * 清理任务每轮最多删除的行数,避免长时间占用数据库
     * <p>
     * 分批删除,单次清理上限用于控制删除任务对线上写入的影响。
     */
    private int cleanupBatchSize = 5000;
 
}