# generaltranslation: General Translation Core SDK: awaitJobs URL: https://generaltranslation.com/ja/docs/core/class/methods/translation/await-jobs.mdx --- title: awaitJobs description: 翻訳ジョブの完了をポーリングして待機する `awaitJobs` メソッドの API リファレンス --- ## 概要 `awaitJobs` メソッドは翻訳ジョブのステータスをポーリングし、すべてのジョブが終端状態 (`completed`、`failed`、または `unknown`) に達するか、タイムアウトに達すると解決されます。これは、ポーリングを自動で処理する [`checkJobStatus`](/docs/core/class/methods/translation/check-job-status) の便利なラッパーです。 ```typescript const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' }); const enqueueResult = await gt.enqueueFiles(uploadedFiles, { sourceLocale: 'en', targetLocales: ['es', 'fr'], }); const result = await gt.awaitJobs(enqueueResult); if (result.complete) { console.log('すべてのジョブが完了しました'); } else { console.log('タイムアウト — 一部のジョブがまだ処理中です'); } ``` `complete: true` は、すべてのジョブが終端状態に達したことを意味します。**すべてのジョブが成功した**ことを意味するわけではありません。成功したかどうかは、各 `job.status` の値を確認してください。 ## リファレンス ### パラメーター | 名前 | 型 | 説明 | | --------------- | -------------------------------------------------------------- | -------------------------------------------------------------------------------- | | `enqueueResult` | [`EnqueueFilesResult`](/docs/core/types/enqueue-files-options) | [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files) が返す結果オブジェクト | | `options?` | `AwaitJobsOptions` | オプションのポーリング設定 | #### AwaitJobsOptions | 名前 | 型 | デフォルト | 説明 | | ------------------------- | -------- | ------------ | ------------------------- | | `pollingIntervalSeconds?` | `number` | `5` | ステータス更新を確認するポーリングの間隔 | | `timeoutSeconds?` | `number` | `600` (10 分) | 現在のステータスを返して解決するまでの最大待機時間 | ### 戻り値 `Promise` ```typescript type AwaitJobsResult = { /** すべてのジョブが終端状態に達したかどうか(成功とは限らない)。 */ complete: boolean; jobs: JobResult[]; }; type JobResult = { jobId: string; status: JobStatus; error?: { message: string }; }; ``` | プロパティ | 型 | 说明 | | --------------- | ------------------------------------------------------------------------------ | ------------------------------------------------- | | `complete` | `boolean` | 進行中のジョブが残っていなければ `true`、タイムアウトに達した場合は `false` | | `jobs` | `JobResult[]` | 各ジョブの最終ステータス | | `jobs[].jobId` | `string` | ジョブの識別子 | | `jobs[].status` | [`JobStatus`](/docs/core/class/methods/translation/check-job-status#jobstatus) | 最終ステータス: `'completed'`、`'failed'`、または `'unknown'` | | `jobs[].error?` | `{ message: string }` | ジョブが失敗した場合のエラーの詳細 | *** ## 例 ### 翻訳をエンキューして完了を待つ ```typescript title="index.ts" copy import { GT } from 'generaltranslation'; const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key', }); // アップロードしてエンキュー const { uploadedFiles } = await gt.uploadSourceFiles(files, { sourceLocale: 'en', }); const enqueueResult = await gt.enqueueFiles(uploadedFiles, { sourceLocale: 'en', targetLocales: ['es', 'fr', 'de'], }); // すべてのジョブが完了するまで待機(10秒ごとにポーリング、5分でタイムアウト) const result = await gt.awaitJobs(enqueueResult, { pollingIntervalSeconds: 10, timeoutSeconds: 300, }); if (!result.complete) { console.warn('一部のジョブが時間内に完了しませんでした'); } // 個別の結果を確認 for (const job of result.jobs) { if (job.status === 'completed') { console.log(`ジョブ ${job.jobId} が成功しました`); } else if (job.status === 'failed') { console.error(`ジョブ ${job.jobId} が失敗しました: ${job.error?.message}`); } } ``` *** ## 注意事項 * 手動のポーリングループが不要になります — `while` ループ内で自分で `checkJobStatus` を呼び出す必要はありません * API で見つからないジョブは、`'unknown'` ステータスとして扱われます * `enqueueResult` にジョブが含まれていない場合、このメソッドは即座に `{ complete: true, jobs: [] }` を返します * タイムアウトはベストエフォートの制限です — このメソッドは、現在のポーリングが完了してから終了します ## 次のステップ * 翻訳ジョブを開始するには、[`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files)を参照してください * ステータスを手動でポーリングするには、[`checkJobStatus`](/docs/core/class/methods/translation/check-job-status)を参照してください * 完了した翻訳をダウンロードするには、[`downloadFile`](/docs/core/class/methods/translation/download-file)を参照してください