package constants import "time" const ( // OutboxStatusPending 表示事件待投递。 OutboxStatusPending = 1 // OutboxStatusDelivering 表示事件已被 Relay 租约领取。 OutboxStatusDelivering = 2 // OutboxStatusDelivered 表示事件已成功提交到队列。 OutboxStatusDelivered = 3 // OutboxStatusFailed 表示事件达到最终失败或等待人工重放。 OutboxStatusFailed = 4 ) const ( // OutboxDefaultMaxRetries 是公共 Outbox 默认最大重试次数。 OutboxDefaultMaxRetries = 10 // OutboxDefaultLeaseDuration 是 Relay 默认租约时长。 OutboxDefaultLeaseDuration = time.Minute // OutboxDefaultBatchSize 是 Relay 默认单批领取数。 OutboxDefaultBatchSize = 100 // OutboxBaseRetryDelay 是瞬时失败指数退避的基础时长。 OutboxBaseRetryDelay = 5 * time.Second // OutboxMaxRetryDelay 是瞬时失败指数退避的上限。 OutboxMaxRetryDelay = 30 * time.Minute // OutboxRelayPollInterval 是 Worker 扫描到期事件的默认间隔。 OutboxRelayPollInterval = time.Second ) // GetOutboxStatusName 返回 Outbox 内部状态中文名称。 func GetOutboxStatusName(status int) string { switch status { case OutboxStatusPending: return "待投递" case OutboxStatusDelivering: return "投递中" case OutboxStatusDelivered: return "已投递" case OutboxStatusFailed: return "投递失败" default: return "未知" } }