diff --git a/flows/shared/db.py b/flows/shared/db.py index b76a998..76b1c6d 100644 --- a/flows/shared/db.py +++ b/flows/shared/db.py @@ -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)