# General Translation Platform: checkJobStatus
URL: https://generaltranslation.com/ru/docs/platform/core/reference/gt-class-methods/translation/check-job-status.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Проверяет текущий статус задачи перевода или инициализации. Справочник API для checkJobStatus.

Отслеживайте асинхронные операции, запущенные с помощью [`setupProject`](/docs/platform/core/reference/gt-class-methods/translation/setup-project) или [`enqueueFiles`](/docs/platform/core/reference/gt-class-methods/translation/enqueue-files), периодически проверяя статус их задач.

## Обзор [#overview]

Вызовите `checkJobStatus`, передав массив идентификаторов задач. Метод возвращает плоский массив объектов со статусом — по одному для каждой задачи.

| Элемент                           | Описание                                      | Тип                             | Необязательно | По умолчанию |
| --------------------------------- | --------------------------------------------- | ------------------------------- | ------------- | ------------ |
| [`jobIds`](#job-ids)              | Уникальные идентификаторы задач для проверки. | `string[]`                      | Нет           | —            |
| [`timeoutMs`](#timeout-ms)        | Тайм-аут в миллисекундах для API-запроса.     | `number`                        | Да            | `60000`      |
| [Возвращаемое значение](#returns) | Объект статуса для каждой запрошенной задачи. | `Promise<CheckJobStatusResult>` | —             | —            |

```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<CheckJobStatusResult>
```

*Примечание: для `checkJobStatus` в экземпляре GT требуются `apiKey` (или `devApiKey`) и `projectId`. Чтобы проверить инициализацию, сначала вызовите [`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]

* **Пакетные проверки.** Для большей эффективности можно проверять несколько задач одним вызовом.
* **Источники задач.** Идентификаторы задач возвращаются из [`setupProject`](/docs/platform/core/reference/gt-class-methods/translation/setup-project) или [`enqueueFiles`](/docs/platform/core/reference/gt-class-methods/translation/enqueue-files); сохраняйте их, чтобы позже можно было проверить статус.

Для задач перевода, возвращаемых [`enqueueFiles`](/docs/platform/core/reference/gt-class-methods/translation/enqueue-files), используйте [`awaitJobs`](/docs/platform/core/reference/gt-class-methods/translation/await-jobs) вместо ручного опроса. Статус идентификаторов инициализации проверяйте с помощью `checkJobStatus`.

## Параметры [#parameters]

| Параметр                   | Описание                                                  | Тип        | Необязательный | По умолчанию |
| -------------------------- | --------------------------------------------------------- | ---------- | -------------- | ------------ |
| [`jobIds`](#job-ids)       | Уникальные идентификаторы задач, которые нужно проверить. | `string[]` | Нет            | —            |
| [`timeoutMs`](#timeout-ms) | Тайм-аут API-запроса в миллисекундах.                     | `number`   | Да             | `60000`      |

### `jobIds` [#job-ids]

**Тип** `string[]` · **Обязательно**

Уникальные идентификаторы задач, которые нужно проверить.

### `timeoutMs` [#timeout-ms]

**Тип** `number` · **Необязательно** · **По умолчанию** `60000`

Тайм-аут запроса в миллисекундах.

## Возвращает [#returns]

**Тип** `Promise<CheckJobStatusResult>`

Промис возвращает плоский массив объектов со статусом задач:

```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;
}

if (setupResult.status === 'queued') {
  const jobStatus = await pollJobStatus([setupResult.setupJobId]);
}
```

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
