mirror of
https://github.com/photoprism/photoprism.git
synced 2026-01-23 02:24:24 +00:00
Signed-off-by: Michael Mayer <michael@photoprism.app>
This commit is contained in:
parent
eaea3a416d
commit
204ce2b100
3 changed files with 14 additions and 13 deletions
|
|
@ -324,6 +324,7 @@ func (c *Config) CloseDb() error {
|
|||
if c.db != nil {
|
||||
if err := c.db.Close(); err == nil {
|
||||
c.db = nil
|
||||
entity.SetDbProvider(nil)
|
||||
} else {
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,8 +27,3 @@ func Db() *gorm.DB {
|
|||
func UnscopedDb() *gorm.DB {
|
||||
return Db().Unscoped()
|
||||
}
|
||||
|
||||
// HasDb checks if a *gorm.DB connection exists.
|
||||
func HasDb() bool {
|
||||
return dbConn != nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package entity
|
||||
|
||||
import (
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
|
|
@ -9,14 +9,18 @@ import (
|
|||
"github.com/photoprism/photoprism/internal/event"
|
||||
)
|
||||
|
||||
var logWarningsAndErrorsOnce sync.Once
|
||||
// logEvents is true when events are being recorded in the "errors" database table.
|
||||
var logEvents = atomic.Bool{}
|
||||
|
||||
// LogWarningsAndErrors starts writing published error and warning events to the "errors" database table once.
|
||||
// LogWarningsAndErrors starts logging published error and warning
|
||||
// events to the errors database table if a database instance is set.
|
||||
func LogWarningsAndErrors() {
|
||||
if HasDb() {
|
||||
logWarningsAndErrorsOnce.Do(func() {
|
||||
go Error{}.LogEvents(logrus.WarnLevel)
|
||||
})
|
||||
if !HasDbProvider() {
|
||||
return
|
||||
}
|
||||
|
||||
if logEvents.CompareAndSwap(false, true) {
|
||||
go Error{}.LogEvents(logrus.WarnLevel)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -41,6 +45,7 @@ func (Error) LogEvents(minLevel logrus.Level) {
|
|||
s := event.Subscribe("log.*")
|
||||
|
||||
defer func() {
|
||||
logEvents.CompareAndSwap(true, false)
|
||||
event.Unsubscribe(s)
|
||||
}()
|
||||
|
||||
|
|
@ -66,7 +71,7 @@ func (Error) LogEvents(minLevel logrus.Level) {
|
|||
errLog.ErrorTime = val.(time.Time)
|
||||
}
|
||||
|
||||
if HasDb() {
|
||||
if HasDbProvider() {
|
||||
Db().Create(&errLog)
|
||||
} else {
|
||||
break
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue