Files
huang 42c5ec912f
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m13s
feat: 技术债务清理(支付配置动态化、API文档补全、轮询常量提取、废弃代码清理)
2026-04-14 11:11:15 +08:00

36 lines
1.6 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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"
)