# PmeProcessor

**Kind:** Class

**Source:** [`atloria-monorepo/apps/pme-agent/src/queue/pme.processor.ts`](https://github.com/sherkety/atloria/blob/main/atloria-monorepo/apps/pme-agent/src/queue/pme.processor.ts#L73)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `handleGenerate` | `handleGenerate(job: Job<PmeJobPayload>)` | `Promise<RunResult>` |
| `handleStrategy` | `handleStrategy(job: Job<PmeJobPayload>)` | `Promise<void>` |
| `handleFinalize` | `handleFinalize(job: Job<any>)` | `Promise<void>` |
| `handleSiteGen` | `handleSiteGen(job: Job<PmeJobPayload & { outputDir: string }>)` | `Promise<void>` |
| `onActive` | `onActive(job: Job<PmeJobPayload>)` | `void` |
| `onCompleted` | `onCompleted(job: Job<PmeJobPayload>)` | `void` |
| `onFailed` | `onFailed(job: Job<PmeJobPayload>, error: Error)` | `void` |

## Properties

| Property | Type |
|---|---|
| `progressEmitter` | `ProgressEmitter` |

## Where it refuses work

- `PmeProcessor` stops the work with an early return when `options?.featureId`.
- `PmeProcessor` stops the work with an early return when `!project`.

## When something fails

- `PmeProcessor` handles failure in 13 places: it lets it reach the caller in 7, logs it and continues in 4, and turns it into a return value in 2.

## Referenced By

- `QueueModule` (MODULE_PROVIDES)
