Fix: save action on give-clue
This commit is contained in:
@ -24,6 +24,7 @@ func (cm *CronManager) Start() {
|
||||
go func() {
|
||||
for range ticker.C {
|
||||
cm.CleanupRooms()
|
||||
cm.CleanupActions()
|
||||
}
|
||||
}()
|
||||
}
|
||||
@ -99,3 +100,31 @@ func (cm *CronManager) CleanupRooms() {
|
||||
}
|
||||
}
|
||||
|
||||
func (cm *CronManager) CleanupActions() {
|
||||
ctx, tx, err := cm.repo.InitTx(context.Background())
|
||||
if err != nil {
|
||||
cm.log.Error("failed to init transaction for actions cleanup", "err", err)
|
||||
return
|
||||
}
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
if err := tx.Rollback(); err != nil {
|
||||
cm.log.Error("failed to rollback transaction for actions cleanup", "err", err)
|
||||
}
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
|
||||
if err := cm.repo.ActionsDeleteOrphaned(ctx); err != nil {
|
||||
cm.log.Error("failed to delete orphaned actions", "err", err)
|
||||
if err := tx.Rollback(); err != nil {
|
||||
cm.log.Error("failed to rollback transaction for actions cleanup", "err", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
if err := tx.Commit(); err != nil {
|
||||
cm.log.Error("failed to commit transaction for actions cleanup", "err", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user