# General Translation Platform: checkJobStatus
URL: https://generaltranslation.com/fr/docs/platform/core/reference/gt-class-methods/translation/check-job-status.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Vérifiez l’état actuel d’un job de traduction ou d’initialisation. Référence de l’API pour checkJobStatus.

Surveillez les opérations asynchrones lancées par [`setupProject`](/docs/platform/core/reference/gt-class-methods/translation/setup-project) ou [`enqueueFiles`](/docs/platform/core/reference/gt-class-methods/translation/enqueue-files) en interrogeant périodiquement l’état des jobs.

## Vue d’ensemble [#overview]

Appelez `checkJobStatus` avec un tableau d’identifiants de tâches. La fonction renvoie un tableau à plat d’objets d’état, à raison d’un par tâche.

| Élément                      | Description                                              | Type                            | Facultatif | Par défaut |
| ---------------------------- | -------------------------------------------------------- | ------------------------------- | ---------- | ---------- |
| [`jobIds`](#job-ids)         | Identifiants uniques des tâches à vérifier.              | `string[]`                      | Non        | —          |
| [`timeoutMs`](#timeout-ms)   | Délai d’expiration en millisecondes pour la requête API. | `number`                        | Oui        | `60000`    |
| [Valeur de retour](#returns) | Objet d’état pour chaque tâche demandée.                 | `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}`));
```

Signature :

```typescript
checkJobStatus(
  jobIds: string[],
  timeoutMs?: number
): Promise<CheckJobStatusResult>
```

*Remarque : `checkJobStatus` nécessite une `apiKey` (ou `devApiKey`) ainsi qu’un `projectId` dans l’instance GT. Pour vérifier une tâche d’initialisation, appelez d’abord [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files) et [`setupProject`](/docs/platform/core/reference/gt-class-methods/translation/setup-project).*

## Fonctionnement [#how-it-works]

* **Vérification par lots.** Vous pouvez vérifier plusieurs tâches en un seul appel, pour plus d’efficacité.
* **Sources des tâches.** Les identifiants de tâche proviennent de [`setupProject`](/docs/platform/core/reference/gt-class-methods/translation/setup-project) ou de [`enqueueFiles`](/docs/platform/core/reference/gt-class-methods/translation/enqueue-files) ; conservez-les pour pouvoir vérifier leur état plus tard.

Pour les tâches de traduction renvoyées par [`enqueueFiles`](/docs/platform/core/reference/gt-class-methods/translation/enqueue-files), utilisez [`awaitJobs`](/docs/platform/core/reference/gt-class-methods/translation/await-jobs) au lieu d’une interrogation manuelle. Pour les identifiants de tâche d’initialisation, utilisez `checkJobStatus`.

## Paramètres [#parameters]

| Paramètre                  | Description                                              | Type       | Facultatif | Par défaut |
| -------------------------- | -------------------------------------------------------- | ---------- | ---------- | ---------- |
| [`jobIds`](#job-ids)       | Identifiants uniques des tâches à vérifier.                | `string[]` | Non        | —          |
| [`timeoutMs`](#timeout-ms) | Délai d’expiration, en millisecondes, de la requête API. | `number`   | Oui        | `60000`    |

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

**Type** `string[]` · **Obligatoire**

Les identifiants uniques des jobs à contrôler.

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

**Type** `number` · **Facultatif** · **Par défaut** `60000`

Délai d’expiration de la requête en millisecondes.

## Valeur de retour [#returns]

**Type** `Promise<CheckJobStatusResult>`

Se résout sous la forme d’un tableau plat d’objets d’état de job :

```typescript
type CheckJobStatusResult = {
  jobId: string;
  status: JobStatus;
  error?: { message: string };
}[];
```

| Propriété | Description                                              | Type                      |
| --------- | -------------------------------------------------------- | ------------------------- |
| `jobId`   | L’identifiant de job vérifié.                            | `string`                  |
| `status`  | État actuel du job.                                      | [`JobStatus`](#jobstatus) |
| `error`   | Informations sur l’erreur lorsque l’état est `'failed'`. | `{ message: string }`     |

### `JobStatus`

```typescript
type JobStatus = 'queued' | 'processing' | 'completed' | 'failed' | 'unknown';
```

* `'queued'` — le job est en attente de traitement.
* `'processing'` — le job est en cours d’exécution.
* `'completed'` — le job s’est achevé avec succès.
* `'failed'` — le job a rencontré une erreur et a échoué.
* `'unknown'` — l’état du job n’a pas pu être déterminé.

## Exemples [#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.
