# generaltranslation: General Translation Core SDK: checkJobStatus
URL: https://generaltranslation.com/it/docs/core/class/methods/translation/check-job-status.mdx
---
title: checkJobStatus
description: Riferimento API del metodo checkJobStatus per monitorare lo stato di avanzamento del job
---
## Panoramica
Il metodo `checkJobStatus` verifica lo stato attuale di uno o più job del progetto in base ai rispettivi ID univoci.
Questo metodo viene utilizzato per monitorare l'avanzamento delle operazioni asincrone avviate da [`setupProject`](/docs/core/class/methods/translation/setup-project) o [`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}`));
```
Per verificare lo stato di un job di setup, devi prima chiamare sia [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files) sia [`setupProject`](/docs/core/class/methods/translation/setup-project).
## Riferimento
### Parametri
| Nome | Tipo | Descrizione |
| ------------ | ---------- | ---------------------------------------------------------- |
| `jobIds` | `string[]` | Array di identificatori univoci dei job da verificare |
| `timeoutMs?` | `number` | Timeout facoltativo, in millisecondi, per la richiesta API |
### Restituisce
`Promise` - Un array semplice di oggetti con lo stato del job.
```typescript
type CheckJobStatusResult = {
jobId: string;
status: JobStatus;
error?: { message: string };
}[];
```
Ogni elemento dell'array contiene:
| Proprietà | Tipo | Descrizione |
| --------- | --------------------- | ----------------------------------------------------- |
| `jobId` | `string` | L'ID del job controllato |
| `status` | `JobStatus` | Stato attuale del job |
| `error?` | `{ message: string }` | Informazioni sull'errore se lo stato è `'failed'` |
#### JobStatus
```typescript
type JobStatus = 'queued' | 'processing' | 'completed' | 'failed' | 'unknown';
```
* `'queued'` - Il job è in attesa di essere elaborato
* `'processing'` - Il job è attualmente in esecuzione
* `'completed'` - Il job è stato completato con successo
* `'failed'` - Il job ha riscontrato un errore e non è andato a buon fine
* `'unknown'` - Non è stato possibile determinare lo stato del job
***
## Esempio
### Verifica di base dello stato
```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]);
```
***
## Note
* Setup viene eseguito automaticamente quando mancano elementi di context.
* Setup si occupa dell'analisi del corpus, della generazione del context, della generazione del glossario, ecc.
* Gli ID dei job vengono restituiti da [`setupProject`](/docs/core/class/methods/translation/setup-project) o [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files) e devono essere salvati per verificarne lo stato
* Puoi controllare più job con una sola chiamata, per maggiore efficienza
## Passaggi successivi
* Vedi [`awaitJobs`](/docs/core/class/methods/translation/await-jobs) per usare il polling automatico invece dei controlli manuali dello stato
* Vedi [`setupProject`](/docs/core/class/methods/translation/setup-project) per avviare i job di setup
* Vedi [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files) per procedere dopo il completamento del setup
* Vedi [`getProjectData`](/docs/core/class/methods/translation/get-project-data) per informazioni sul progetto