# General Translation Platform: checkJobStatus
URL: https://generaltranslation.com/it/docs/platform/core/reference/gt-class-methods/translation/check-job-status.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Controlla lo stato corrente di un job di traduzione o di setup. Riferimento API per checkJobStatus.

Monitora le operazioni asincrone avviate da [`setupProject`](/docs/platform/core/reference/gt-class-methods/translation/setup-project) o [`enqueueFiles`](/docs/platform/core/reference/gt-class-methods/translation/enqueue-files) effettuando il polling dello stato dei rispettivi job.

## Panoramica [#overview]

Chiama `checkJobStatus` con un array di ID job. Restituisce un array piatto di oggetti di stato, uno per ogni job.

| Elemento                      | Descrizione                                   | Tipo                            | Facoltativo | Predefinito |
| ----------------------------- | --------------------------------------------- | ------------------------------- | ----------- | ----------- |
| [`jobIds`](#job-ids)          | ID job univoci da verificare.                 | `string[]`                      | No          | —           |
| [`timeoutMs`](#timeout-ms)    | Timeout in millisecondi per la richiesta API. | `number`                        | Sì          | `60000`     |
| [Valore restituito](#returns) | Oggetto di stato per ogni job richiesto.      | `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}`));
```

Firma:

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

*Nota: `checkJobStatus` richiede un `apiKey` (o `devApiKey`) e `projectId` nell&#39;istanza GT. Per verificare lo stato di un job di setup, chiama prima sia [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files) sia [`setupProject`](/docs/platform/core/reference/gt-class-methods/translation/setup-project).*

## Come funziona [#how-it-works]

* **Controlli batch.** Puoi controllare più job con una sola chiamata, per maggiore efficienza.
* **Origine dei job.** Gli ID job provengono da [`setupProject`](/docs/platform/core/reference/gt-class-methods/translation/setup-project) o [`enqueueFiles`](/docs/platform/core/reference/gt-class-methods/translation/enqueue-files); salvali per poter verificarne lo stato in seguito.

Per i job di traduzione restituiti da [`enqueueFiles`](/docs/platform/core/reference/gt-class-methods/translation/enqueue-files), usa [`awaitJobs`](/docs/platform/core/reference/gt-class-methods/translation/await-jobs) anziché eseguire il polling manuale. Per gli ID job di setup, esegui il polling con `checkJobStatus`.

## Parametri [#parameters]

| Parametro                  | Descrizione                                           | Tipo       | Facoltativo | Predefinito |
| -------------------------- | ----------------------------------------------------- | ---------- | ----------- | ----------- |
| [`jobIds`](#job-ids)       | ID univoci dei job da controllare.                    | `string[]` | No          | —           |
| [`timeoutMs`](#timeout-ms) | Timeout in millisecondi per la richiesta all&#39;API. | `number`   | Sì          | `60000`     |

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

**Tipo** `string[]` · **Obbligatorio**

Gli identificatori univoci dei job da verificare.

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

**Tipo** `number` · **Facoltativo** · **Predefinito** `60000`

Timeout della richiesta in millisecondi.

## Restituisce [#returns]

**Tipo** `Promise<CheckJobStatusResult>`

La Promise si risolve in un array piatto di oggetti di stato dei job:

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

| Proprietà | Descrizione                                                | Tipo                      |
| --------- | ---------------------------------------------------------- | ------------------------- |
| `jobId`   | L&#39;ID del job verificato.                               | `string`                  |
| `status`  | Stato corrente del job.                                    | [`JobStatus`](#jobstatus) |
| `error`   | Informazioni sull&#39;errore quando lo stato è `'failed'`. | `{ message: string }`     |

### `JobStatus`

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

* `'queued'` — il job è in attesa di essere elaborato.
* `'processing'` — il job è attualmente in corso di esecuzione.
* `'completed'` — il job è stato completato correttamente.
* `'failed'` — il job ha riscontrato un errore e non è andato a buon fine.
* `'unknown'` — non è stato possibile determinare lo stato del job.

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