diff --git a/internal/datastore/sqlite/sqlite.go b/internal/datastore/sqlite/sqlite.go index 8c9203ad..abc7756f 100644 --- a/internal/datastore/sqlite/sqlite.go +++ b/internal/datastore/sqlite/sqlite.go @@ -253,15 +253,16 @@ func (ds *SQLite) Put(ctx context.Context, entity datastore.Entity) error { updateMap := make(map[string]interface{}) for i, field := range fields { - putFlag := true + if field == "id" || field == "created_at" { + continue + } switch values[i].(type) { case string: - putFlag = values[i].(string) != "" - } - if putFlag { - updateMap[field] = values[i] + if values[i].(string) == "" { + continue + } } - + updateMap[field] = values[i] } updateMap["updated_at"] = time.Now() @@ -371,9 +372,6 @@ func (ds *SQLite) List(ctx context.Context, entity datastore.Entity, options *da list := make([]datastore.Entity, 0) rows, err := db.Rows() if err != nil { - if errors.Is(err, gorm.ErrRecordNotFound) { - return nil, datastore.ErrRecordNotExist - } return nil, datastore.NewDBError(err) } defer func() { _ = rows.Close() }() diff --git a/internal/schedule/schedule.go b/internal/schedule/schedule.go index 14660bf8..fc4b61a6 100644 --- a/internal/schedule/schedule.go +++ b/internal/schedule/schedule.go @@ -257,6 +257,10 @@ func (ss *BasicServiceScheduler) dispatch(task *ServiceTask) (*types.ServiceTarg SortBy: sortOption, }) if err != nil { + logger.LogicLogger.Error("[Schedule] model list err", "error", err, "model", task.Request.Model) + return nil, err + } + if len(ms) == 0 { logger.LogicLogger.Error("[Schedule] model not found", "error", err, "model", task.Request.Model) return nil, bcode.ErrModelRecordNotFound } diff --git a/internal/server/model.go b/internal/server/model.go index 55cc79c5..5003cbf0 100644 --- a/internal/server/model.go +++ b/internal/server/model.go @@ -365,12 +365,12 @@ func (s *ModelImpl) CreateModelStream(ctx context.Context, request *dto.CreateMo if resp.Completed > 0 || resp.Status == "success" { if resp.Status == "success" { - logger.LogicLogger.Error("[Pull Model Stream] accept success label") + logger.LogicLogger.Info("[Pull Model Stream] accept success label") m.Status = "downloaded" err = ds.Put(ctx, m) if err != nil { newErrorCh <- err - logger.LogicLogger.Error("[Pull Model Stream] put model status failed") + logger.LogicLogger.Info("[Pull Model Stream] put model status failed") return } if service.Status != 1 { @@ -382,7 +382,7 @@ func (s *ModelImpl) CreateModelStream(ctx context.Context, request *dto.CreateMo newErrorCh <- err return } - logger.LogicLogger.Error("[Pull Model Stream] put model status success") + logger.LogicLogger.Info("[Pull Model Stream] put model status success") } newDataCh <- data diff --git a/internal/server/service_provider.go b/internal/server/service_provider.go index 0891bf9a..46759a86 100644 --- a/internal/server/service_provider.go +++ b/internal/server/service_provider.go @@ -150,6 +150,8 @@ func (s *ServiceProviderImpl) CreateServiceProvider(ctx context.Context, request m := new(types.Model) m.ModelName = mName m.ProviderName = request.ProviderName + m.ServiceName = request.ServiceName + m.ServiceSource = request.ServiceSource err = s.Ds.Get(ctx, m) if err != nil && !errors.Is(err, datastore.ErrEntityInvalid) { // todo debug log output @@ -233,8 +235,10 @@ func (s *ServiceProviderImpl) CreateServiceProvider(ctx context.Context, request generateSp.Properties = request.Properties generateSp.CreatedAt = time.Now() generateSp.UpdatedAt = time.Now() + if err := ds.Put(ctx, generateSp); err != nil { + return nil, err + } } - } return &dto.CreateServiceProviderResponse{ diff --git a/internal/types/datastore.go b/internal/types/datastore.go index c12f3707..052131a1 100644 --- a/internal/types/datastore.go +++ b/internal/types/datastore.go @@ -169,9 +169,9 @@ func (t *Model) Index() map[string]interface{} { index["provider_name"] = t.ProviderName } - //if t.ServiceName != "" { - // index["service_name"] = t.ServiceName - //} + if t.ServiceName != "" { + index["service_name"] = t.ServiceName + } return index }