# General Translation Platform: checkJobStatus
URL: https://generaltranslation.com/es/docs/platform/core/reference/gt-class-methods/translation/check-job-status.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Comprueba el estado actual de un trabajo de traducción o de configuración. Referencia de la API para checkJobStatus.

Supervisa las operaciones asíncronas iniciadas por [`setupProject`](/docs/platform/core/reference/gt-class-methods/translation/setup-project) o [`enqueueFiles`](/docs/platform/core/reference/gt-class-methods/translation/enqueue-files) mediante sondeo del estado de sus trabajos.

## Resumen [#overview]

Llama a `checkJobStatus` con una lista de ID de trabajo. Devuelve una lista plana de objetos de estado, uno por cada trabajo.

| Elemento                     | Descripción                                                  | Tipo                            | Opcional | Predeterminado |
| ---------------------------- | ------------------------------------------------------------ | ------------------------------- | -------- | -------------- |
| [`jobIds`](#job-ids)         | ID de trabajo únicos que se deben comprobar.                 | `string[]`                      | No       | —              |
| [`timeoutMs`](#timeout-ms)   | Tiempo de espera en milisegundos para la solicitud a la API. | `number`                        | Sí       | `60000`        |
| [Valor de retorno](#returns) | Objeto de estado para cada trabajo solicitado.               | `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}`));
```

Signatura:

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

*Nota: `checkJobStatus` requiere un `apiKey` (o `devApiKey`) y `projectId` en la instancia de GT. Para comprobar el estado de un trabajo de configuración, primero llama a [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files) y [`setupProject`](/docs/platform/core/reference/gt-class-methods/translation/setup-project).*

## Cómo funciona [#how-it-works]

* **Comprobaciones por lotes.** Puedes comprobar varios trabajos en una sola llamada para ganar eficiencia.
* **Origen de los trabajos.** Los ID de trabajo provienen de [`setupProject`](/docs/platform/core/reference/gt-class-methods/translation/setup-project) o [`enqueueFiles`](/docs/platform/core/reference/gt-class-methods/translation/enqueue-files); guárdalos para poder consultar su estado más adelante.

Para los trabajos de traducción devueltos por [`enqueueFiles`](/docs/platform/core/reference/gt-class-methods/translation/enqueue-files), usa [`awaitJobs`](/docs/platform/core/reference/gt-class-methods/translation/await-jobs) en lugar del sondeo manual. Para los ID de trabajo de configuración inicial, usa `checkJobStatus`.

## Parámetros [#parameters]

| Parámetro                  | Descripción                                                  | Tipo       | Opcional | Predeterminado |
| -------------------------- | ------------------------------------------------------------ | ---------- | -------- | -------------- |
| [`jobIds`](#job-ids)       | Identificadores únicos de trabajos que se deben comprobar.   | `string[]` | No       | —              |
| [`timeoutMs`](#timeout-ms) | Tiempo de espera en milisegundos para la solicitud a la API. | `number`   | Sí       | `60000`        |

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

**Tipo** `string[]` · **Obligatorio**

Los identificadores únicos de los trabajos que se van a comprobar.

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

**Type** `number` · **Opcional** · **Predeterminado** `60000`

Tiempo de espera de la solicitud en milisegundos.

## Devuelve [#returns]

**Tipo** `Promise<CheckJobStatusResult>`

Se resuelve como una lista plana de objetos de estado de trabajo:

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

| Propiedad | Descripción                                                | Tipo                      |
| --------- | ---------------------------------------------------------- | ------------------------- |
| `jobId`   | El identificador del trabajo que se consultó.              | `string`                  |
| `status`  | Estado actual del trabajo.                                 | [`JobStatus`](#jobstatus) |
| `error`   | Información sobre el error cuando el estado es `'failed'`. | `{ message: string }`     |

### `JobStatus`

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

* `'queued'` — el trabajo está en espera de ser procesado.
* `'processing'` — el trabajo se está ejecutando en este momento.
* `'completed'` — el trabajo finalizó correctamente.
* `'failed'` — se produjo un error y el trabajo falló.
* `'unknown'` — no se pudo determinar el estado del trabajo.

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