# General Translation Platform: checkJobStatus URL: https://generaltranslation.com/zh/docs/platform/core/reference/gt-class-methods/translation/check-job-status.mdx --- title: checkJobStatus description: 检查翻译任务或 setup 任务的当前状态。checkJobStatus 的 API 参考。 --- 按标识符检查一个或多个 General Translation 任务的当前状态。你可以用它来监控由 [`setupProject`](/docs/platform/core/reference/gt-class-methods/translation/setup-project) 或 [`enqueueFiles`](/docs/platform/core/reference/gt-class-methods/translation/enqueue-files) 发起的异步操作。 ## 概览 [#overview] 使用一组任务 ID 调用 `checkJobStatus`。它会返回一个扁平数组,其中每个任务 都对应一个状态对象。 ```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}`)); ``` 签名: ```typescript checkJobStatus( jobIds: string[], timeoutMs?: number ): Promise ``` *注意:`checkJobStatus` 要求 GT 实例上提供 `apiKey` (或 `devApiKey`) 和 `projectId`。要检查 setup 任务 的状态,请先调用 [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files) 和 [`setupProject`](/docs/platform/core/reference/gt-class-methods/translation/setup-project)。* ## 工作原理 [#how-it-works] * **批量检查。** 你可以通过一次调用检查多个任务,以提高效率。 * **任务来源。** 任务 ID 来自 [`setupProject`](/docs/platform/core/reference/gt-class-methods/translation/setup-project) 或 [`enqueueFiles`](/docs/platform/core/reference/gt-class-methods/translation/enqueue-files);请将它们保存下来,以便稍后检查状态。 * **自动setup。** 当缺少上下文要素时,setup会自动运行——它会处理语料库分析、上下文生成、词汇表生成等。 如果想自动轮询而不是手动检查,请使用 [`awaitJobs`](/docs/platform/core/reference/gt-class-methods/translation/await-jobs)。 ## 参数 [#parameters] | 参数 | 说明 | 类型 | 可选 | 默认值 | | -------------------------- | --------------------- | ---------- | -- | --- | | [`jobIds`](#job-ids) | 要检查的唯一 任务 标识符。 | `string[]` | 否 | — | | [`timeoutMs`](#timeout-ms) | API 请求超时时间 (以毫秒为单位) 。 | `number` | 是 | — | ### `jobIds` [#job-ids] **类型** `string[]` · **必填** 要检查的 任务 的唯一标识符。 ### `timeoutMs` [#timeout-ms] **类型** `number` · **可选** 请求超时时间 (以毫秒为单位) 。 ## 返回值 [#returns] **类型** `Promise` 解析结果为任务状态对象的扁平数组: ```typescript type CheckJobStatusResult = { jobId: string; status: JobStatus; error?: { message: string }; }[]; ``` | 属性 | 描述 | 类型 | | -------- | ---------------------- | ------------------------- | | `jobId` | 被检查的 任务 标识符。 | `string` | | `status` | 任务 的当前状态。 | [`JobStatus`](#jobstatus) | | `error` | 状态为 `'failed'` 时的错误信息。 | `{ message: string }` | ### `JobStatus` ```typescript type JobStatus = 'queued' | 'processing' | 'completed' | 'failed' | 'unknown'; ``` * `'queued'` — 任务 正在等待处理。 * `'processing'` — 任务 当前正在执行。 * `'completed'` — 任务 已成功完成。 * `'failed'` — 任务 处理时发生错误并失败。 * `'unknown'` — 无法确定 任务 的状态。 ## 示例 [#examples] ```typescript 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]); ``` ## 说明 [#notes] * 缺少部分上下文信息时,setup 会自动运行,并负责语料库分析、上下文生成、词汇表生成等步骤。 * [`setupProject`](/docs/platform/core/reference/gt-class-methods/translation/setup-project) 或 [`enqueueFiles`](/docs/platform/core/reference/gt-class-methods/translation/enqueue-files) 会返回作业 ID,应将其保存下来以便检查状态。 * 为提高效率,你可以在一次调用中检查多个作业。