fix: 按完成时刻分批清理并限制读连接池

This commit is contained in:
Nixevol
2026-09-30 16:22:43 +08:00
parent bd550f313f
commit 6a65ab8593
9 changed files with 350 additions and 17 deletions
+2 -2
View File
@@ -239,8 +239,8 @@ func FinalizeMessageTx(tx *sql.Tx, seq int64, wantReceipt bool, senderID, endpoi
return err
}
}
if _, err := tx.Exec(`UPDATE messages SET state = ?, reason = CASE WHEN ? != '' THEN ? ELSE reason END WHERE seq = ?`,
StateCompleted, msgReason, msgReason, seq); err != nil {
if _, err := tx.Exec(`UPDATE messages SET state = ?, reason = CASE WHEN ? != '' THEN ? ELSE reason END, completed_at = ? WHERE seq = ?`,
StateCompleted, msgReason, msgReason, nowMs, seq); err != nil {
return err
}
if _, err := tx.Exec(`DELETE FROM message_bodies WHERE seq = ?`, seq); err != nil {