# generaltranslation: General Translation Core SDK: checkJobStatus URL: https://generaltranslation.com/zh/docs/core/class/methods/translation/check-job-status.mdx --- title: checkJobStatus description: 用于监控作业进度的 checkJobStatus 方法 API 参考文档 --- ## 概述 `checkJobStatus` 方法通过一个或多个项目作业的唯一标识符检查其当前状态。 此方法用于监控由 [`setupProject`](/docs/core/class/methods/translation/setup-project) 或 [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files) 发起的异步操作进度。 ```typescript const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' }); const statuses = await gt.checkJobStatus(['job-123', 'job-456']); statuses.forEach(job => console.log(`${job.jobId}: ${job.status}`)); ``` 要检查设置作业的状态,您必须先调用 [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files) 和 [`setupProject`](/docs/core/class/methods/translation/setup-project)。 ## 参考 ### 参数 | 名称 | 类型 | 描述 | | ------------ | ---------- | ------------------- | | `jobIds` | `string[]` | 待检查的唯一作业标识符数组 | | `timeoutMs?` | `number` | API 请求的可选超时时间 (毫秒) | ### 返回值 `Promise` - 作业状态对象组成的一维数组。 ```typescript type CheckJobStatusResult = { jobId: string; status: JobStatus; error?: { message: string }; }[]; ``` 数组中的每个元素均包含: | 属性 | 类型 | 描述 | | -------- | --------------------- | ---------------------- | | `jobId` | `string` | 已检索作业的标识符 | | `status` | `JobStatus` | 作业的当前状态 | | `error?` | `{ message: string }` | 当状态为 `'failed'` 时的错误信息 | #### JobStatus ```typescript type JobStatus = 'queued' | 'processing' | 'completed' | 'failed' | 'unknown'; ``` * `'queued'` - 作业正在等待处理 * `'processing'` - 作业当前正在执行 * `'completed'` - 作业已成功完成 * `'failed'` - 作业因出错而失败 * `'unknown'` - 无法确定作业状态 *** ## 示例 ### 基本状态检查 ```typescript copy import { GT } from 'generaltranslation'; const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' }); const fileRefs = [ { fileId: 'file-123', versionId: 'version-456', branchId: 'branch-789', fileName: 'app.json', fileFormat: 'JSON' }, { fileId: 'file-789', versionId: 'version-012', branchId: 'branch-789', fileName: 'content.md', fileFormat: 'MD' } ]; const setupResult = await gt.setupProject(fileRefs); async function pollJobStatus(jobIds: string[]) { const status = await gt.checkJobStatus(jobIds); status.forEach(job => { console.log(`Job ${job.jobId}:`); console.log(` Status: ${job.status}`); if (job.error) { console.log(` Error: ${job.error.message}`); } }); return status; } const jobStatus = await pollJobStatus([setupResult.jobId]); ``` *** ## 注意事项 * 当缺少上下文要素时,会自动运行设置。 * 设置负责语料库分析、上下文生成、术语表生成等。 * [`setupProject`](/docs/core/class/methods/translation/setup-project) 或 [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files) 会返回作业 ID,应保存这些 ID 以便检查状态 * 为提高效率,你可以在一次调用中检查多个作业 ## 后续步骤 * 参见 [`awaitJobs`](/docs/core/class/methods/translation/await-jobs),可使用自动轮询而不是手动检查状态 * 参见 [`setupProject`](/docs/core/class/methods/translation/setup-project) 以启动设置作业 * 参见 [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files) 以在设置完成后继续操作 * 参见 [`getProjectData`](/docs/core/class/methods/translation/get-project-data) 了解项目信息