taolib.testing.data_sync.services.job_service#

同步作业服务。

提供 SyncJob 的 CRUD 操作和业务逻辑。

Attributes#

Classes#

SyncJobService

同步作业服务。

Module Contents#

taolib.testing.data_sync.services.job_service.logger#
class taolib.testing.data_sync.services.job_service.SyncJobService(job_repo: taolib.testing.data_sync.repository.job_repo.SyncJobRepository)#

同步作业服务。

_job_repo#
async create_job(job_create: taolib.testing.data_sync.models.job.SyncJobCreate, user_id: str = 'system') taolib.testing.data_sync.models.job.SyncJobDocument#

创建同步作业。

参数:
  • job_create -- 作业创建数据

  • user_id -- 用户 ID

返回:

创建的作业文档

async get_job(job_id: str) taolib.testing.data_sync.models.job.SyncJobDocument#

获取作业详情。

参数:

job_id -- 作业 ID

返回:

作业文档

抛出:

SyncJobNotFoundError -- 如果作业不存在

async update_job(job_id: str, job_update: taolib.testing.data_sync.models.job.SyncJobUpdate, user_id: str = 'system') taolib.testing.data_sync.models.job.SyncJobDocument#

更新作业配置。

参数:
  • job_id -- 作业 ID

  • job_update -- 更新数据

  • user_id -- 用户 ID

返回:

更新后的作业文档

抛出:

SyncJobNotFoundError -- 如果作业不存在

async delete_job(job_id: str) bool#

删除作业。

参数:

job_id -- 作业 ID

返回:

是否删除成功

async list_jobs(enabled_only: bool = False, skip: int = 0, limit: int = 100) list[taolib.testing.data_sync.models.job.SyncJobDocument]#

列出作业。

参数:
  • enabled_only -- 只返回启用的作业

  • skip -- 跳过记录数

  • limit -- 限制记录数

返回:

作业文档列表

async enable_job(job_id: str, user_id: str = 'system') taolib.testing.data_sync.models.job.SyncJobDocument#

启用作业。

async disable_job(job_id: str, user_id: str = 'system') taolib.testing.data_sync.models.job.SyncJobDocument#

禁用作业。

async reset_checkpoint(job_id: str, checkpoint_repo: Any) int#

重置作业检查点(强制下次全量同步)。

参数:
  • job_id -- 作业 ID

  • checkpoint_repo -- 检查点 Repository

返回:

删除的检查点数量