Compare commits
9
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e4885803df | ||
|
|
e5175a0504 | ||
|
|
489dacca49 | ||
|
|
5eacfefb6c | ||
|
|
63d30d8f25 | ||
|
|
fff5b707ac | ||
|
|
d07c67327e | ||
|
|
9c76772969 | ||
|
|
a83b89b08a |
+3
-2
@@ -25,8 +25,9 @@ LOOKUP_BATCH = 10000
|
||||
# 单锁无环,写事务之间从结构上不可能死锁。1768851058 = "inkr" 的 ASCII 整数表示。
|
||||
DB_WRITE_LOCK_KEY = 1768851058
|
||||
LOCK_TIMEOUT = "15s" # 等锁超时 → LockNotAvailable → 交给重试兜底
|
||||
WRITE_RETRIES = 3 # 死锁/等锁超时的整事务重试次数
|
||||
WRITE_RETRY_BACKOFF = [1, 3, 7] # 重试退避(秒)
|
||||
WRITE_RETRIES = 5 # 死锁/等锁超时的整事务重试次数(外部写者如 17track
|
||||
# 物流回写不走 advisory 锁,冲突窗口可达分钟级,重试需够深)
|
||||
WRITE_RETRY_BACKOFF = [1, 3, 7, 15, 30] # 重试退避(秒;末位预留,最后一次失败直接抛出)
|
||||
WRITE_RETRYABLE_ERRORS = (pg_errors.DeadlockDetected, pg_errors.LockNotAvailable)
|
||||
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@ RIIN_GOODS_STATUS_MAP: dict[str, str] = {
|
||||
"CANCELLED": "已取消", "REFUNDING": "退款中",
|
||||
# 商品级状态复用平台状态枚举,COMPLETE/PAUSE 缺失曾导致 1/3 商品行 status 为 NULL
|
||||
"COMPLETE": "已完成", "PAUSE": "暂停",
|
||||
# CLOSE 同为商品终态(Goods 约束无"已关闭",取"已取消");UNKNOWN 保留 NULL 并由告警暴露
|
||||
"CLOSE": "已取消",
|
||||
}
|
||||
|
||||
RIIN_PLATFORM_STATUS_MAP: dict[str, str] = {
|
||||
|
||||
@@ -53,6 +53,7 @@ class RiinGoodsStatusTest(unittest.TestCase):
|
||||
"REFUNDING": "退款中",
|
||||
"COMPLETE": "已完成", # 本次补齐(曾导致 NULL)
|
||||
"PAUSE": "暂停", # 本次补齐(曾导致 NULL)
|
||||
"CLOSE": "已取消", # 回填重拉时告警发现的新枚举
|
||||
}
|
||||
for raw, want in cases.items():
|
||||
with self.subTest(raw=raw):
|
||||
|
||||
Reference in New Issue
Block a user