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 分钟