34 lines
1.1 KiB
Go
34 lines
1.1 KiB
Go
package repositories
|
|
|
|
import (
|
|
"context"
|
|
"tyapi-server/internal/domains/article/entities"
|
|
)
|
|
|
|
// ScheduledTaskRepository 定时任务仓储接口
|
|
type ScheduledTaskRepository interface {
|
|
// Create 创建定时任务记录
|
|
Create(ctx context.Context, task entities.ScheduledTask) (entities.ScheduledTask, error)
|
|
|
|
// GetByTaskID 根据Asynq任务ID获取任务记录
|
|
GetByTaskID(ctx context.Context, taskID string) (entities.ScheduledTask, error)
|
|
|
|
// GetByArticleID 根据文章ID获取任务记录
|
|
GetByArticleID(ctx context.Context, articleID string) (entities.ScheduledTask, error)
|
|
|
|
// Update 更新任务记录
|
|
Update(ctx context.Context, task entities.ScheduledTask) error
|
|
|
|
// Delete 删除任务记录
|
|
Delete(ctx context.Context, taskID string) error
|
|
|
|
// MarkAsCancelled 标记任务为已取消
|
|
MarkAsCancelled(ctx context.Context, taskID string) error
|
|
|
|
// GetActiveTasks 获取活动状态的任务列表
|
|
GetActiveTasks(ctx context.Context) ([]entities.ScheduledTask, error)
|
|
|
|
// GetExpiredTasks 获取过期的任务列表
|
|
GetExpiredTasks(ctx context.Context) ([]entities.ScheduledTask, error)
|
|
}
|