All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m13s
36 lines
1.6 KiB
Go
36 lines
1.6 KiB
Go
package constants
|
||
|
||
// PollingShardCount 轮询队列默认分片数
|
||
// 千万级规模下,16 分片可将单队列深度控制在 ~60 万以内
|
||
const PollingShardCount = 16
|
||
|
||
// PollingBackpressureThreshold 单分片队列背压阈值
|
||
// 超过此深度时,Scheduler 跳过该分片本轮出队,防止 Asynq 积压过载
|
||
// 默认 50 万,可根据 Asynq Worker 处理速度调整
|
||
const PollingBackpressureThreshold = 500_000
|
||
|
||
// PollingDequeueMaxBatchSize Lua 脚本单次出队上限
|
||
// 受 Lua unpack() 的 LUAI_MAXCSTACK 约 8000 限制,保守取 7000
|
||
const PollingDequeueMaxBatchSize = 7000
|
||
|
||
// PollingDefaultMaxConcurrency 并发信号量默认上限
|
||
// 读取 Redis 配置 key 失败时使用,作为安全兜底值
|
||
// 300:支撑 10M 卡、2小时 carddata 间隔(Gateway 200ms → 300并发 = 1500任务/秒/类型)
|
||
const PollingDefaultMaxConcurrency = 300
|
||
|
||
// PollingConcurrencyKeyTTL 并发计数 key 的过期时间(秒)
|
||
// 保证 Worker 意外崩溃(defer Decr 未执行)时计数器在此时间内自动归零
|
||
const PollingConcurrencyKeyTTL = 600 // 10 分钟
|
||
|
||
// 轮询手动触发日志状态常量
|
||
const (
|
||
// PollingManualTriggerStatusPending 轮询手动触发日志状态-待处理
|
||
PollingManualTriggerStatusPending = "pending"
|
||
// PollingManualTriggerStatusProcessing 轮询手动触发日志状态-处理中
|
||
PollingManualTriggerStatusProcessing = "processing"
|
||
// PollingManualTriggerStatusCompleted 轮询手动触发日志状态-已完成
|
||
PollingManualTriggerStatusCompleted = "completed"
|
||
// PollingManualTriggerStatusCancelled 轮询手动触发日志状态-已取消
|
||
PollingManualTriggerStatusCancelled = "cancelled"
|
||
)
|