# generaltranslation: General Translation Core SDK: checkJobStatus
URL: https://generaltranslation.com/ru/docs/core/class/methods/translation/check-job-status.mdx
---
title: checkJobStatus
description: Справка по API для метода checkJobStatus, который используется для отслеживания хода выполнения задачи
---
## Обзор
Метод `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}`));
```
Чтобы проверить статус задачи Setup, сначала нужно вызвать оба метода: [`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]);
```
***
## Примечания
* Setup автоматически запускается, если отсутствуют элементы контекста.
* Setup отвечает за анализ корпуса, генерацию контекста, глоссария и т. д.
* Идентификаторы задач возвращаются методами [`setupProject`](/docs/core/class/methods/translation/setup-project) и [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files); их следует сохранять для проверки статуса
* Для эффективности можно проверять несколько задач одним вызовом
## Следующие шаги
* См. [`awaitJobs`](/docs/core/class/methods/translation/await-jobs), чтобы использовать автоматический опрос вместо ручной проверки статуса
* См. [`setupProject`](/docs/core/class/methods/translation/setup-project), чтобы запустить задачи Setup
* См. [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files), чтобы продолжить работу после завершения Setup
* См. [`getProjectData`](/docs/core/class/methods/translation/get-project-data), чтобы получить информацию о проекте