fix: add missing Commit() to event listeners and cron jobs
With db.NewSession() now starting real transactions, all sessions that do writes must explicitly commit. These listeners and cron jobs were previously relying on auto-commit mode where each SQL statement was committed immediately. Without explicit Commit(), the writes are silently rolled back on Close(), and the held write locks cause "database is locked" errors for subsequent requests on SQLite.
This commit is contained in:
parent
eea59c33c7
commit
2188c7a79d
|
|
@ -232,7 +232,7 @@ func (s *SendTaskCommentNotification) Handle(msg *message.Message) (err error) {
|
|||
}
|
||||
}
|
||||
|
||||
return
|
||||
return sess.Commit()
|
||||
}
|
||||
|
||||
// HandleTaskCommentEditMentions represents a listener
|
||||
|
|
@ -262,7 +262,10 @@ func (s *HandleTaskCommentEditMentions) Handle(msg *message.Message) (err error)
|
|||
Mentioned: true,
|
||||
}
|
||||
_, err = notifyMentionedUsers(sess, event.Task, event.Comment.Comment, n)
|
||||
return err
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return sess.Commit()
|
||||
}
|
||||
|
||||
// SendTaskAssignedNotification represents a listener
|
||||
|
|
@ -323,7 +326,7 @@ func (s *SendTaskAssignedNotification) Handle(msg *message.Message) (err error)
|
|||
notifiedUsers[subscriber.UserID] = true
|
||||
}
|
||||
|
||||
return nil
|
||||
return sess.Commit()
|
||||
}
|
||||
|
||||
// SendTaskDeletedNotification represents a listener
|
||||
|
|
@ -374,7 +377,7 @@ func (s *SendTaskDeletedNotification) Handle(msg *message.Message) (err error) {
|
|||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
return sess.Commit()
|
||||
}
|
||||
|
||||
// HandleTaskCreateMentions represents a listener
|
||||
|
|
@ -403,7 +406,10 @@ func (s *HandleTaskCreateMentions) Handle(msg *message.Message) (err error) {
|
|||
IsNew: true,
|
||||
}
|
||||
_, err = notifyMentionedUsers(sess, event.Task, event.Task.Description, n)
|
||||
return err
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return sess.Commit()
|
||||
}
|
||||
|
||||
// HandleTaskUpdatedMentions represents a listener
|
||||
|
|
@ -433,7 +439,10 @@ func (s *HandleTaskUpdatedMentions) Handle(msg *message.Message) (err error) {
|
|||
}
|
||||
|
||||
_, err = notifyMentionedUsers(sess, event.Task, event.Task.Description, n)
|
||||
return err
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return sess.Commit()
|
||||
}
|
||||
|
||||
// HandleTaskUpdateLastUpdated represents a listener
|
||||
|
|
@ -832,7 +841,7 @@ func (s *SendProjectCreatedNotification) Handle(msg *message.Message) (err error
|
|||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
return sess.Commit()
|
||||
}
|
||||
|
||||
// WebhookListener represents a listener
|
||||
|
|
|
|||
|
|
@ -186,6 +186,10 @@ func RegisterOverdueReminderCron() {
|
|||
|
||||
log.Debugf("[Undone Overdue Tasks Reminder] Sent reminder email for %d tasks to user %d", len(ut.tasks), ut.user.ID)
|
||||
}
|
||||
|
||||
if err := s.Commit(); err != nil {
|
||||
log.Errorf("[Undone Overdue Tasks Reminder] Could not commit: %s", err)
|
||||
}
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatalf("Could not register undone overdue tasks reminder cron: %s", err)
|
||||
|
|
|
|||
|
|
@ -391,6 +391,10 @@ func RegisterReminderCron() {
|
|||
|
||||
log.Debugf("[Task Reminder Cron] Sent reminder email for task %d to user %d", n.Task.ID, n.User.ID)
|
||||
}
|
||||
|
||||
if err := s.Commit(); err != nil {
|
||||
log.Errorf("[Task Reminder Cron] Could not commit: %s", err)
|
||||
}
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatalf("Could not register reminder cron: %s", err)
|
||||
|
|
|
|||
Loading…
Reference in New Issue