opt: add lock for mj task callback

This commit is contained in:
RockYang 2023-09-08 17:23:32 +08:00
parent 0a9b325360
commit 153b2bfa53

View File

@ -13,6 +13,7 @@ import (
"fmt" "fmt"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"gorm.io/gorm" "gorm.io/gorm"
"sync"
"time" "time"
) )
@ -41,6 +42,7 @@ type MidJourneyHandler struct {
db *gorm.DB db *gorm.DB
mjFunc function.FuncMidJourney mjFunc function.FuncMidJourney
uploaderManager *oss.UploaderManager uploaderManager *oss.UploaderManager
lock sync.Mutex
} }
func NewMidJourneyHandler( func NewMidJourneyHandler(
@ -53,6 +55,7 @@ func NewMidJourneyHandler(
leveldb: leveldb, leveldb: leveldb,
db: db, db: db,
uploaderManager: manager, uploaderManager: manager,
lock: sync.Mutex{},
mjFunc: functions[types.FuncMidJourney].(function.FuncMidJourney)} mjFunc: functions[types.FuncMidJourney].(function.FuncMidJourney)}
h.App = app h.App = app
return &h return &h
@ -80,6 +83,8 @@ func (h *MidJourneyHandler) Notify(c *gin.Context) {
} }
logger.Debugf("收到 MidJourney 回调请求:%+v", data) logger.Debugf("收到 MidJourney 回调请求:%+v", data)
h.lock.Lock()
defer h.lock.Unlock()
// the job is saved // the job is saved
var job model.MidJourneyJob var job model.MidJourneyJob