Feat: add cleaner cron

This commit is contained in:
Grail Finder
2025-07-04 10:34:08 +03:00
parent 83215f5c14
commit 71a2d9d747
8 changed files with 116 additions and 5 deletions

View File

@ -168,7 +168,9 @@ func HandleStartGame(w http.ResponseWriter, r *http.Request) {
}
defer func() {
if r := recover(); r != nil {
tx.Rollback()
if err := tx.Rollback(); err != nil {
log.Error("failed to rollback transaction", "error", err)
}
panic(r)
}
}()
@ -189,7 +191,9 @@ func HandleStartGame(w http.ResponseWriter, r *http.Request) {
fi.Room.ActionHistory = append(fi.Room.ActionHistory, action)
// Use the new context with transaction
if err := saveFullInfo(ctx, fi); err != nil {
tx.Rollback()
if err := tx.Rollback(); err != nil {
log.Error("failed to rollback transaction", "error", err)
}
abortWithError(w, err.Error())
return
}
@ -197,7 +201,9 @@ func HandleStartGame(w http.ResponseWriter, r *http.Request) {
action.RoomID = fi.Room.ID
action.CreatedAt = time.Now()
if err := repo.CreateAction(ctx, fi.Room.ID, &action); err != nil {
tx.Rollback()
if err := tx.Rollback(); err != nil {
log.Error("failed to rollback transaction", "error", err)
}
log.Error("failed to save action", "error", err)
abortWithError(w, err.Error())
return
@ -206,7 +212,9 @@ func HandleStartGame(w http.ResponseWriter, r *http.Request) {
for _, card := range fi.Room.Cards {
card.RoomID = fi.Room.ID // Ensure RoomID is set for each card
if err := repo.WordCardsCreate(ctx, &card); err != nil {
tx.Rollback()
if err := tx.Rollback(); err != nil {
log.Error("failed to rollback transaction", "error", err)
}
log.Error("failed to save word card", "error", err)
abortWithError(w, err.Error())
return