feat: update the redis reference to cache.Cmdable instead (#535)
This commit is contained in:
parent
c7bf6bbdec
commit
adc5986d13
|
|
@ -17,7 +17,6 @@
|
|||
package app
|
||||
|
||||
import (
|
||||
redisV9 "github.com/redis/go-redis/v9"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/domain/app/repository"
|
||||
|
|
@ -26,6 +25,7 @@ import (
|
|||
variables "github.com/coze-dev/coze-studio/backend/domain/memory/variables/service"
|
||||
search "github.com/coze-dev/coze-studio/backend/domain/search/service"
|
||||
user "github.com/coze-dev/coze-studio/backend/domain/user/service"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/idgen"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/modelmgr"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/storage"
|
||||
|
|
@ -35,7 +35,7 @@ type ServiceComponents struct {
|
|||
IDGen idgen.IDGenerator
|
||||
DB *gorm.DB
|
||||
OSS storage.Storage
|
||||
CacheCli *redisV9.Client
|
||||
CacheCli cache.Cmdable
|
||||
ProjectEventBus search.ProjectEventBus
|
||||
|
||||
ModelMgr modelmgr.Manager
|
||||
|
|
|
|||
|
|
@ -19,12 +19,11 @@ package memory
|
|||
import (
|
||||
"gorm.io/gorm"
|
||||
|
||||
"github.com/redis/go-redis/v9"
|
||||
|
||||
database "github.com/coze-dev/coze-studio/backend/domain/memory/database/service"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/memory/variables/repository"
|
||||
variables "github.com/coze-dev/coze-studio/backend/domain/memory/variables/service"
|
||||
search "github.com/coze-dev/coze-studio/backend/domain/search/service"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/idgen"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/rdb"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/storage"
|
||||
|
|
@ -43,7 +42,7 @@ type ServiceComponents struct {
|
|||
EventBus search.ResourceEventBus
|
||||
TosClient storage.Storage
|
||||
ResourceDomainNotifier search.ResourceEventBus
|
||||
CacheCli *redis.Client
|
||||
CacheCli cache.Cmdable
|
||||
}
|
||||
|
||||
func InitService(c *ServiceComponents) *MemoryApplicationServices {
|
||||
|
|
|
|||
|
|
@ -18,9 +18,10 @@ package singleagent
|
|||
|
||||
import (
|
||||
"github.com/cloudwego/eino/compose"
|
||||
"github.com/redis/go-redis/v9"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/domain/agent/singleagent/entity"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/agent/singleagent/repository"
|
||||
singleagent "github.com/coze-dev/coze-studio/backend/domain/agent/singleagent/service"
|
||||
|
|
@ -50,7 +51,7 @@ var SingleAgentSVC *SingleAgentApplicationService
|
|||
type ServiceComponents struct {
|
||||
IDGen idgen.IDGenerator
|
||||
DB *gorm.DB
|
||||
Cache *redis.Client
|
||||
Cache cache.Cmdable
|
||||
TosClient storage.Storage
|
||||
ImageX imagex.ImageX
|
||||
EventBus search.ProjectEventBus
|
||||
|
|
|
|||
|
|
@ -20,12 +20,9 @@ import (
|
|||
"context"
|
||||
|
||||
"github.com/cloudwego/eino/compose"
|
||||
"github.com/redis/go-redis/v9"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/application/internal"
|
||||
"github.com/coze-dev/coze-studio/backend/pkg/logs"
|
||||
|
||||
wfdatabase "github.com/coze-dev/coze-studio/backend/crossdomain/workflow/database"
|
||||
wfknowledge "github.com/coze-dev/coze-studio/backend/crossdomain/workflow/knowledge"
|
||||
wfmodel "github.com/coze-dev/coze-studio/backend/crossdomain/workflow/model"
|
||||
|
|
@ -46,17 +43,19 @@ import (
|
|||
crosssearch "github.com/coze-dev/coze-studio/backend/domain/workflow/crossdomain/search"
|
||||
crossvariable "github.com/coze-dev/coze-studio/backend/domain/workflow/crossdomain/variable"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/workflow/service"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/coderunner"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/idgen"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/imagex"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/modelmgr"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/storage"
|
||||
"github.com/coze-dev/coze-studio/backend/pkg/logs"
|
||||
)
|
||||
|
||||
type ServiceComponents struct {
|
||||
IDGen idgen.IDGenerator
|
||||
DB *gorm.DB
|
||||
Cache *redis.Client
|
||||
Cache cache.Cmdable
|
||||
DatabaseDomainSVC dbservice.Database
|
||||
VariablesDomainSVC variables.Variables
|
||||
PluginDomainSVC plugin.PluginService
|
||||
|
|
|
|||
|
|
@ -22,10 +22,9 @@ import (
|
|||
"errors"
|
||||
"fmt"
|
||||
|
||||
"github.com/redis/go-redis/v9"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/api/model/ocean/cloud/developer_api"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/agent/singleagent/entity"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
"github.com/coze-dev/coze-studio/backend/pkg/errorx"
|
||||
"github.com/coze-dev/coze-studio/backend/types/errno"
|
||||
)
|
||||
|
|
@ -53,7 +52,7 @@ func (sa *SingleAgentDraftDAO) UpdateDisplayInfo(ctx context.Context, userID int
|
|||
func (sa *SingleAgentDraftDAO) GetDisplayInfo(ctx context.Context, userID, agentID int64) (*entity.AgentDraftDisplayInfo, error) {
|
||||
key := makeAgentDisplayInfoKey(userID, agentID)
|
||||
data, err := sa.cacheClient.Get(ctx, key).Result()
|
||||
if errors.Is(err, redis.Nil) {
|
||||
if errors.Is(err, cache.Nil) {
|
||||
tabStatusDefault := developer_api.TabStatus_Default
|
||||
return &entity.AgentDraftDisplayInfo{
|
||||
AgentID: agentID,
|
||||
|
|
|
|||
|
|
@ -20,24 +20,23 @@ import (
|
|||
"context"
|
||||
"strconv"
|
||||
|
||||
"github.com/redis/go-redis/v9"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
"github.com/coze-dev/coze-studio/backend/pkg/errorx"
|
||||
)
|
||||
|
||||
func NewCountRepo(cli *redis.Client) *CounterImpl {
|
||||
func NewCountRepo(cli cache.Cmdable) *CounterImpl {
|
||||
return &CounterImpl{
|
||||
cacheClient: cli,
|
||||
}
|
||||
}
|
||||
|
||||
type CounterImpl struct {
|
||||
cacheClient *redis.Client
|
||||
cacheClient cache.Cmdable
|
||||
}
|
||||
|
||||
func (c *CounterImpl) Get(ctx context.Context, key string) (int64, error) {
|
||||
val, err := c.cacheClient.Get(ctx, key).Result()
|
||||
if err == redis.Nil {
|
||||
if err == cache.Nil {
|
||||
return 0, nil
|
||||
}
|
||||
if err != nil {
|
||||
|
|
|
|||
|
|
@ -20,13 +20,13 @@ import (
|
|||
"context"
|
||||
"errors"
|
||||
|
||||
"github.com/redis/go-redis/v9"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/api/model/crossdomain/singleagent"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/agent/singleagent/entity"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/agent/singleagent/internal/dal/model"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/agent/singleagent/internal/dal/query"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/idgen"
|
||||
"github.com/coze-dev/coze-studio/backend/pkg/errorx"
|
||||
"github.com/coze-dev/coze-studio/backend/types/errno"
|
||||
|
|
@ -35,10 +35,10 @@ import (
|
|||
type SingleAgentDraftDAO struct {
|
||||
idGen idgen.IDGenerator
|
||||
dbQuery *query.Query
|
||||
cacheClient *redis.Client
|
||||
cacheClient cache.Cmdable
|
||||
}
|
||||
|
||||
func NewSingleAgentDraftDAO(db *gorm.DB, idGen idgen.IDGenerator, cli *redis.Client) *SingleAgentDraftDAO {
|
||||
func NewSingleAgentDraftDAO(db *gorm.DB, idGen idgen.IDGenerator, cli cache.Cmdable) *SingleAgentDraftDAO {
|
||||
query.SetDefault(db)
|
||||
|
||||
return &SingleAgentDraftDAO{
|
||||
|
|
|
|||
|
|
@ -19,15 +19,15 @@ package repository
|
|||
import (
|
||||
"context"
|
||||
|
||||
"github.com/redis/go-redis/v9"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/domain/agent/singleagent/entity"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/agent/singleagent/internal/dal"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/idgen"
|
||||
)
|
||||
|
||||
func NewSingleAgentRepo(db *gorm.DB, idGen idgen.IDGenerator, cli *redis.Client) SingleAgentDraftRepo {
|
||||
func NewSingleAgentRepo(db *gorm.DB, idGen idgen.IDGenerator, cli cache.Cmdable) SingleAgentDraftRepo {
|
||||
return dal.NewSingleAgentDraftDAO(db, idGen, cli)
|
||||
}
|
||||
|
||||
|
|
@ -35,7 +35,7 @@ func NewSingleAgentVersionRepo(db *gorm.DB, idGen idgen.IDGenerator) SingleAgent
|
|||
return dal.NewSingleAgentVersion(db, idGen)
|
||||
}
|
||||
|
||||
func NewCounterRepo(cli *redis.Client) CounterRepository {
|
||||
func NewCounterRepo(cli cache.Cmdable) CounterRepository {
|
||||
return dal.NewCountRepo(cli)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,16 +21,15 @@ import (
|
|||
"errors"
|
||||
"time"
|
||||
|
||||
redisV9 "github.com/redis/go-redis/v9"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
"github.com/coze-dev/coze-studio/backend/pkg/lang/ptr"
|
||||
)
|
||||
|
||||
type AppCache struct {
|
||||
cacheCli *redisV9.Client
|
||||
cacheCli cache.Cmdable
|
||||
}
|
||||
|
||||
func NewAppCache(cacheCli *redisV9.Client) *AppCache {
|
||||
func NewAppCache(cacheCli cache.Cmdable) *AppCache {
|
||||
return &AppCache{
|
||||
cacheCli: cacheCli,
|
||||
}
|
||||
|
|
@ -39,7 +38,7 @@ func NewAppCache(cacheCli *redisV9.Client) *AppCache {
|
|||
func (a *AppCache) Get(ctx context.Context, key string) (value string, exist bool, err error) {
|
||||
cmd := a.cacheCli.Get(ctx, key)
|
||||
if cmd.Err() != nil {
|
||||
if errors.Is(cmd.Err(), redisV9.Nil) {
|
||||
if errors.Is(cmd.Err(), cache.Nil) {
|
||||
return "", false, nil
|
||||
}
|
||||
return "", false, cmd.Err()
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@ import (
|
|||
"sync"
|
||||
"time"
|
||||
|
||||
redisV9 "github.com/redis/go-redis/v9"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/domain/app/entity"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/app/internal/dal"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/app/internal/dal/query"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/idgen"
|
||||
"github.com/coze-dev/coze-studio/backend/pkg/lang/ptr"
|
||||
"github.com/coze-dev/coze-studio/backend/pkg/logs"
|
||||
|
|
@ -50,7 +50,7 @@ type appRepoImpl struct {
|
|||
type APPRepoComponents struct {
|
||||
IDGen idgen.IDGenerator
|
||||
DB *gorm.DB
|
||||
CacheCli *redisV9.Client
|
||||
CacheCli cache.Cmdable
|
||||
}
|
||||
|
||||
func NewAPPRepo(components *APPRepoComponents) AppRepository {
|
||||
|
|
|
|||
|
|
@ -32,21 +32,19 @@ import (
|
|||
"unicode/utf8"
|
||||
|
||||
"github.com/bytedance/sonic"
|
||||
redisV9 "github.com/redis/go-redis/v9"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/api/model/crossdomain/knowledge"
|
||||
knowledgeModel "github.com/coze-dev/coze-studio/backend/api/model/crossdomain/knowledge"
|
||||
"github.com/coze-dev/coze-studio/backend/api/model/ocean/cloud/developer_api"
|
||||
"github.com/coze-dev/coze-studio/backend/application/base/ctxutil"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/knowledge/repository"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/domain/knowledge/entity"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/knowledge/internal/consts"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/knowledge/internal/convert"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/knowledge/internal/dal/model"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/knowledge/internal/events"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/knowledge/processor/impl"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/knowledge/repository"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/chatmodel"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/document/nl2sql"
|
||||
|
|
@ -1484,7 +1482,7 @@ func (k *knowledgeSVC) getObjectURL(ctx context.Context, uri string) (string, er
|
|||
if err != nil {
|
||||
return "", errorx.New(errno.ErrKnowledgeGetObjectURLFailCode, errorx.KV("msg", fmt.Sprintf("get object url failed, %v", err)))
|
||||
}
|
||||
if errors.Is(cmd.Err(), redisV9.Nil) {
|
||||
if errors.Is(cmd.Err(), cache.Nil) {
|
||||
err = k.cacheCli.Set(ctx, uri, url, cacheTime*time.Second).Err()
|
||||
if err != nil {
|
||||
logs.CtxErrorf(ctx, "[getObjectURL] set cache failed, %v", err)
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ import (
|
|||
"github.com/tealeg/xlsx/v3"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/api/model/crossdomain/database"
|
||||
"github.com/coze-dev/coze-studio/backend/api/model/ocean/cloud/bot_common"
|
||||
"github.com/coze-dev/coze-studio/backend/api/model/table"
|
||||
|
|
@ -64,10 +66,10 @@ type databaseService struct {
|
|||
onlineDAO repository.OnlineDAO
|
||||
agentToDatabaseDAO repository.AgentToDatabaseDAO
|
||||
storage storage.Storage
|
||||
cache *redis.Client
|
||||
cache cache.Cmdable
|
||||
}
|
||||
|
||||
func NewService(rdb rdb.RDB, db *gorm.DB, generator idgen.IDGenerator, storage storage.Storage, cacheCli *redis.Client) Database {
|
||||
func NewService(rdb rdb.RDB, db *gorm.DB, generator idgen.IDGenerator, storage storage.Storage, cacheCli cache.Cmdable) Database {
|
||||
return &databaseService{
|
||||
rdb: rdb,
|
||||
db: db,
|
||||
|
|
|
|||
|
|
@ -21,16 +21,15 @@ import (
|
|||
"errors"
|
||||
"time"
|
||||
|
||||
redisV9 "github.com/redis/go-redis/v9"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
"github.com/coze-dev/coze-studio/backend/pkg/lang/ptr"
|
||||
)
|
||||
|
||||
type OAuthCache struct {
|
||||
cacheCli *redisV9.Client
|
||||
cacheCli cache.Cmdable
|
||||
}
|
||||
|
||||
func NewOAuthCache(cacheCli *redisV9.Client) *OAuthCache {
|
||||
func NewOAuthCache(cacheCli cache.Cmdable) *OAuthCache {
|
||||
return &OAuthCache{
|
||||
cacheCli: cacheCli,
|
||||
}
|
||||
|
|
@ -39,7 +38,7 @@ func NewOAuthCache(cacheCli *redisV9.Client) *OAuthCache {
|
|||
func (o *OAuthCache) Get(ctx context.Context, key string) (value string, exist bool, err error) {
|
||||
cmd := o.cacheCli.Get(ctx, key)
|
||||
if cmd.Err() != nil {
|
||||
if errors.Is(cmd.Err(), redisV9.Nil) {
|
||||
if errors.Is(cmd.Err(), cache.Nil) {
|
||||
return "", false, nil
|
||||
}
|
||||
return "", false, cmd.Err()
|
||||
|
|
|
|||
|
|
@ -21,14 +21,13 @@ import (
|
|||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/redis/go-redis/v9"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/domain/workflow/entity/vo"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
"github.com/coze-dev/coze-studio/backend/types/errno"
|
||||
)
|
||||
|
||||
type cancelSignalStoreImpl struct {
|
||||
redis *redis.Client
|
||||
redis cache.Cmdable
|
||||
}
|
||||
|
||||
const workflowExecutionCancelStatusKey = "workflow:cancel:status:%d"
|
||||
|
|
|
|||
|
|
@ -23,13 +23,13 @@ import (
|
|||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/redis/go-redis/v9"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/domain/workflow/entity"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/workflow/entity/vo"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/workflow/internal/repo/dal/model"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/workflow/internal/repo/dal/query"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
"github.com/coze-dev/coze-studio/backend/pkg/lang/ptr"
|
||||
"github.com/coze-dev/coze-studio/backend/pkg/lang/slices"
|
||||
"github.com/coze-dev/coze-studio/backend/pkg/lang/ternary"
|
||||
|
|
@ -40,7 +40,7 @@ import (
|
|||
|
||||
type executeHistoryStoreImpl struct {
|
||||
query *query.Query
|
||||
redis *redis.Client
|
||||
redis cache.Cmdable
|
||||
}
|
||||
|
||||
func (e *executeHistoryStoreImpl) CreateWorkflowExecution(ctx context.Context, execution *entity.WorkflowExecution) (err error) {
|
||||
|
|
@ -457,7 +457,7 @@ func (e *executeHistoryStoreImpl) loadNodeExecutionFromRedis(ctx context.Context
|
|||
|
||||
result, err := e.redis.Get(ctx, key).Result()
|
||||
if err != nil {
|
||||
if errors.Is(err, redis.Nil) {
|
||||
if errors.Is(err, cache.Nil) {
|
||||
return nil
|
||||
}
|
||||
return vo.WrapError(errno.ErrRedisError, err)
|
||||
|
|
@ -523,7 +523,7 @@ func (e *executeHistoryStoreImpl) GetTestRunLatestExeID(ctx context.Context, wfI
|
|||
key := fmt.Sprintf(testRunLastExeKey, wfID, uID)
|
||||
exeIDStr, err := e.redis.Get(ctx, key).Result()
|
||||
if err != nil {
|
||||
if errors.Is(err, redis.Nil) {
|
||||
if errors.Is(err, cache.Nil) {
|
||||
return 0, nil
|
||||
}
|
||||
return 0, vo.WrapError(errno.ErrRedisError, err)
|
||||
|
|
@ -548,7 +548,7 @@ func (e *executeHistoryStoreImpl) GetNodeDebugLatestExeID(ctx context.Context, w
|
|||
key := fmt.Sprintf(nodeDebugLastExeKey, wfID, nodeID, uID)
|
||||
exeIDStr, err := e.redis.Get(ctx, key).Result()
|
||||
if err != nil {
|
||||
if errors.Is(err, redis.Nil) {
|
||||
if errors.Is(err, cache.Nil) {
|
||||
return 0, nil
|
||||
}
|
||||
return 0, vo.WrapError(errno.ErrRedisError, err)
|
||||
|
|
|
|||
|
|
@ -22,16 +22,15 @@ import (
|
|||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/redis/go-redis/v9"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/domain/workflow/entity"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/workflow/entity/vo"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
"github.com/coze-dev/coze-studio/backend/pkg/sonic"
|
||||
"github.com/coze-dev/coze-studio/backend/types/errno"
|
||||
)
|
||||
|
||||
type interruptEventStoreImpl struct {
|
||||
redis *redis.Client
|
||||
redis cache.Cmdable
|
||||
}
|
||||
|
||||
const (
|
||||
|
|
@ -81,7 +80,7 @@ func (i *interruptEventStoreImpl) SaveInterruptEvents(ctx context.Context, wfExe
|
|||
|
||||
previousEventStr, err := i.redis.Get(ctx, previousResumedEventKey).Result()
|
||||
if err != nil {
|
||||
if !errors.Is(err, redis.Nil) {
|
||||
if !errors.Is(err, cache.Nil) {
|
||||
return fmt.Errorf("failed to get previous resumed event for wfExeID %d: %w", wfExeID, err)
|
||||
}
|
||||
}
|
||||
|
|
@ -154,7 +153,7 @@ func (i *interruptEventStoreImpl) GetFirstInterruptEvent(ctx context.Context, wf
|
|||
|
||||
eventJSON, err := i.redis.LIndex(ctx, listKey, 0).Result()
|
||||
if err != nil {
|
||||
if errors.Is(err, redis.Nil) {
|
||||
if errors.Is(err, cache.Nil) {
|
||||
return nil, false, nil // List is empty or key does not exist
|
||||
}
|
||||
return nil, false, fmt.Errorf("failed to get first interrupt event from Redis list for wfExeID %d: %w", wfExeID, err)
|
||||
|
|
@ -203,7 +202,7 @@ func (i *interruptEventStoreImpl) PopFirstInterruptEvent(ctx context.Context, wf
|
|||
|
||||
eventJSON, err := i.redis.LPop(ctx, listKey).Result()
|
||||
if err != nil {
|
||||
if errors.Is(err, redis.Nil) {
|
||||
if errors.Is(err, cache.Nil) {
|
||||
return nil, false, nil // List is empty or key does not exist
|
||||
}
|
||||
return nil, false, vo.WrapError(errno.ErrRedisError,
|
||||
|
|
@ -227,7 +226,7 @@ func (i *interruptEventStoreImpl) ListInterruptEvents(ctx context.Context, wfExe
|
|||
|
||||
eventJSONs, err := i.redis.LRange(ctx, listKey, 0, -1).Result()
|
||||
if err != nil {
|
||||
if errors.Is(err, redis.Nil) {
|
||||
if errors.Is(err, cache.Nil) {
|
||||
return nil, nil // List is empty or key does not exist
|
||||
}
|
||||
return nil, vo.WrapError(errno.ErrRedisError,
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@ import (
|
|||
|
||||
einoCompose "github.com/cloudwego/eino/compose"
|
||||
"github.com/cloudwego/eino/schema"
|
||||
"github.com/redis/go-redis/v9"
|
||||
"golang.org/x/exp/maps"
|
||||
"gorm.io/gen"
|
||||
"gorm.io/gen/field"
|
||||
|
|
@ -41,6 +40,7 @@ import (
|
|||
"github.com/coze-dev/coze-studio/backend/domain/workflow/internal/execute"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/workflow/internal/repo/dal/model"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/workflow/internal/repo/dal/query"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
cm "github.com/coze-dev/coze-studio/backend/infra/contract/chatmodel"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/idgen"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/storage"
|
||||
|
|
@ -61,7 +61,7 @@ const (
|
|||
type RepositoryImpl struct {
|
||||
idgen.IDGenerator
|
||||
query *query.Query
|
||||
redis *redis.Client
|
||||
redis cache.Cmdable
|
||||
tos storage.Storage
|
||||
einoCompose.CheckPointStore
|
||||
workflow.InterruptEventStore
|
||||
|
|
@ -70,7 +70,7 @@ type RepositoryImpl struct {
|
|||
builtinModel cm.BaseChatModel
|
||||
}
|
||||
|
||||
func NewRepository(idgen idgen.IDGenerator, db *gorm.DB, redis *redis.Client, tos storage.Storage,
|
||||
func NewRepository(idgen idgen.IDGenerator, db *gorm.DB, redis cache.Cmdable, tos storage.Storage,
|
||||
cpStore einoCompose.CheckPointStore, chatModel cm.BaseChatModel) workflow.Repository {
|
||||
return &RepositoryImpl{
|
||||
IDGenerator: idgen,
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import (
|
|||
"time"
|
||||
|
||||
einoCompose "github.com/cloudwego/eino/compose"
|
||||
"github.com/redis/go-redis/v9"
|
||||
|
||||
"github.com/spf13/cast"
|
||||
"golang.org/x/exp/maps"
|
||||
"golang.org/x/sync/errgroup"
|
||||
|
|
@ -39,6 +39,7 @@ import (
|
|||
"github.com/coze-dev/coze-studio/backend/domain/workflow/internal/canvas/adaptor"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/workflow/internal/compose"
|
||||
"github.com/coze-dev/coze-studio/backend/domain/workflow/internal/repo"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/chatmodel"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/idgen"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/storage"
|
||||
|
|
@ -67,7 +68,7 @@ func NewWorkflowService(repo workflow.Repository) workflow.Service {
|
|||
}
|
||||
}
|
||||
|
||||
func NewWorkflowRepository(idgen idgen.IDGenerator, db *gorm.DB, redis *redis.Client, tos storage.Storage,
|
||||
func NewWorkflowRepository(idgen idgen.IDGenerator, db *gorm.DB, redis cache.Cmdable, tos storage.Storage,
|
||||
cpStore einoCompose.CheckPointStore, chatModel chatmodel.BaseChatModel) workflow.Repository {
|
||||
return repo.NewRepository(idgen, db, redis, tos, cpStore, chatModel)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,3 +21,5 @@ import (
|
|||
)
|
||||
|
||||
type Cmdable = redis.Cmdable
|
||||
|
||||
const Nil = redis.Nil
|
||||
|
|
|
|||
|
|
@ -24,10 +24,12 @@ import (
|
|||
|
||||
"github.com/cloudwego/eino/compose"
|
||||
"github.com/redis/go-redis/v9"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
)
|
||||
|
||||
type redisStore struct {
|
||||
client *redis.Client
|
||||
client cache.Cmdable
|
||||
}
|
||||
|
||||
const (
|
||||
|
|
@ -38,7 +40,7 @@ const (
|
|||
func (r *redisStore) Get(ctx context.Context, checkPointID string) ([]byte, bool, error) {
|
||||
v, err := r.client.Get(ctx, fmt.Sprintf(checkpointKeyTpl, checkPointID)).Bytes()
|
||||
if err != nil {
|
||||
if errors.Is(err, redis.Nil) {
|
||||
if errors.Is(err, cache.Nil) {
|
||||
return nil, false, nil
|
||||
}
|
||||
return nil, false, err
|
||||
|
|
|
|||
|
|
@ -22,8 +22,6 @@ import (
|
|||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/redis/go-redis/v9"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/document/progressbar"
|
||||
"github.com/coze-dev/coze-studio/backend/pkg/lang/conv"
|
||||
|
|
@ -90,7 +88,7 @@ func (p *ProgressBarImpl) GetProgress(ctx context.Context) (percent int, remainS
|
|||
err error
|
||||
)
|
||||
errMsg, err = p.CacheCli.Get(ctx, fmt.Sprintf(ProgressBarErrMsgRedisKey, p.PrimaryKeyID)).Result()
|
||||
if err == redis.Nil {
|
||||
if err == cache.Nil {
|
||||
errMsg = ""
|
||||
} else if err != nil {
|
||||
return ProcessDone, 0, err.Error()
|
||||
|
|
@ -99,7 +97,7 @@ func (p *ProgressBarImpl) GetProgress(ctx context.Context) (percent int, remainS
|
|||
return ProcessDone, 0, errMsg
|
||||
}
|
||||
totalNumStr, err := p.CacheCli.Get(ctx, fmt.Sprintf(ProgressBarTotalNumRedisKey, p.PrimaryKeyID)).Result()
|
||||
if err == redis.Nil || len(totalNumStr) == 0 {
|
||||
if err == cache.Nil || len(totalNumStr) == 0 {
|
||||
totalNum = ptr.Of(int64(0))
|
||||
} else if err != nil {
|
||||
return ProcessDone, 0, err.Error()
|
||||
|
|
@ -112,7 +110,7 @@ func (p *ProgressBarImpl) GetProgress(ctx context.Context) (percent int, remainS
|
|||
}
|
||||
}
|
||||
processedNumStr, err := p.CacheCli.Get(ctx, fmt.Sprintf(ProgressBarProcessedNumRedisKey, p.PrimaryKeyID)).Result()
|
||||
if err == redis.Nil || len(processedNumStr) == 0 {
|
||||
if err == cache.Nil || len(processedNumStr) == 0 {
|
||||
processedNum = ptr.Of(int64(0))
|
||||
} else if err != nil {
|
||||
return ProcessDone, 0, err.Error()
|
||||
|
|
@ -128,7 +126,7 @@ func (p *ProgressBarImpl) GetProgress(ctx context.Context) (percent int, remainS
|
|||
return ProcessInit, DefaultProcessTime, ""
|
||||
}
|
||||
startTimeStr, err := p.CacheCli.Get(ctx, fmt.Sprintf(ProgressBarStartTimeRedisKey, p.PrimaryKeyID)).Result()
|
||||
if err == redis.Nil || len(startTimeStr) == 0 {
|
||||
if err == cache.Nil || len(startTimeStr) == 0 {
|
||||
startTime = ptr.Of(int64(0))
|
||||
} else if err != nil {
|
||||
return ProcessDone, 0, err.Error()
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ import (
|
|||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/redis/go-redis/v9"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/idgen"
|
||||
)
|
||||
|
|
@ -33,7 +33,7 @@ const (
|
|||
|
||||
type IDGenerator = idgen.IDGenerator
|
||||
|
||||
func New(client *redis.Client) (idgen.IDGenerator, error) {
|
||||
func New(client cache.Cmdable) (idgen.IDGenerator, error) {
|
||||
// Initialization code.
|
||||
return &idGenImpl{
|
||||
cli: client,
|
||||
|
|
@ -41,7 +41,7 @@ func New(client *redis.Client) (idgen.IDGenerator, error) {
|
|||
}
|
||||
|
||||
type idGenImpl struct {
|
||||
cli *redis.Client
|
||||
cli cache.Cmdable
|
||||
namespace string
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,15 +21,15 @@ import (
|
|||
"encoding/json"
|
||||
"fmt"
|
||||
|
||||
"github.com/redis/go-redis/v9"
|
||||
"github.com/coze-dev/coze-studio/backend/infra/contract/cache"
|
||||
)
|
||||
|
||||
type JsonCache[T any] struct {
|
||||
cache *redis.Client
|
||||
cache cache.Cmdable
|
||||
prefix string
|
||||
}
|
||||
|
||||
func New[T any](prefix string, cache *redis.Client) *JsonCache[T] {
|
||||
func New[T any](prefix string, cache cache.Cmdable) *JsonCache[T] {
|
||||
return &JsonCache[T]{
|
||||
prefix: prefix,
|
||||
cache: cache,
|
||||
|
|
@ -59,7 +59,7 @@ func (g *JsonCache[T]) Get(ctx context.Context, k string) (*T, error) {
|
|||
var obj T
|
||||
|
||||
data, err := g.cache.Get(ctx, key).Result()
|
||||
if err == redis.Nil {
|
||||
if err == cache.Nil {
|
||||
return &obj, nil
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue