
# CLI uzziņu rokasgrāmata

Visas Queuety darbības pēc noklusējuma ir pieejamas WP-CLI, izmantojot `wp queuety` nosaukumtelpu.

Definējiet `QUEUETY_CLI_COMMAND`, pirms tiek palaists Queuety, ja vēlaties publicēt to pašu komandu koku ar citu saknes nosaukumu, piemēram, `wp themequeue`.

Aģentu izpildvidēm un citām virtual-bash integrācijām izmantojiet šo lapu kā lietotājiem paredzētu rokasgrāmatu, bet PHP tiltu — kā mašīnlasāmu līgumu:

- `Queuety::cli_command_map()` nodrošina serializējamu komandu katalogu
- `Queuety::resolve_cli_command( $path, $args, $assoc_args )` pārvērš parsētu `wp queuety ...` ievadi normalizētā izpildes plānā, kurā priekšroka dota tieši izsaucamām PHP funkcijām

Šajā kokā nav stāvokļu automātu komandu; iepazīstiet tos, izmantojot PHP API, kas aprakstīts sadaļā [Stāvokļu automāti](https://queuety.inline0.dev/lv/docs/state-machines).

## Uzdevumu komandas

### `wp queuety work`

Palaidiet darbinieku, kas apstrādā uzdevumus.

```bash
wp queuety work [--queue=<queue>] [--once] [--workers=<n>]
wp queuety work [--queue=<queue>] [--min-workers=<n>] --max-workers=<n>
```

| Opcija | Apraksts |
|---|---|
| `--queue=<queue>` | Queue(s), kurā apstrādāt uzdevumus; atdaliet ar komatiem prioritātes secībā (noklusējums: `default`) |
| `--once` | Apstrādā ne vairāk kā vienu uzdevumu un iziet (iziet uzreiz arī tad, ja nav pieejamu uzdevumu) |
| `--workers=<n>` | Izveido N darbinieku procesus (nepieciešami paplašinājumi `pcntl` un `posix`, tāpat kā `--min-workers` un `--max-workers` gadījumā) |
| `--min-workers=<n>` | Minimālais darbinieku skaits adaptīvā kopā. Nepieciešams `--max-workers` |
| `--max-workers=<n>` | Maksimālais darbinieku skaits adaptīvā kopā |

```bash
# Single worker on default queue
wp queuety work

# Process a specific queue
wp queuety work --queue=emails

# Process multiple queues in priority order
wp queuety work --queue=critical,default,low

# One-shot mode
wp queuety work --once

# Multi-worker mode
wp queuety work --workers=4

# Adaptive worker pool
wp queuety work --queue=providers --min-workers=2 --max-workers=6
```

Ja norādītas vairākas rindas, darbinieks mēģina paņemt uzdevumu no katras rindas norādītajā secībā. Uzvar pirmā rinda, kurā ir pieejams uzdevums. `--workers` uztur fiksētu darbinieku kopu. `--min-workers` un `--max-workers` ieslēdz adaptīvo mērogošanu šai pašai komandu saskarnei. Izvietošanas stratēģijas skatiet sadaļā [Darbinieki](https://queuety.inline0.dev/lv/docs/features/workers), bet adaptīvo kopu pieņemšanas modeli — sadaļā [Resursu pārvaldība](https://queuety.inline0.dev/lv/docs/features/resource-management).

### `wp queuety flush`

Apstrādā visus gaidošos uzdevumus un iziet.

```bash
wp queuety flush [--queue=<queue>]
```

| Opcija | Apraksts |
|---|---|
| `--queue=<queue>` | Queue(s), kas jāiztukšo; atdaliet ar komatiem prioritātes secībā (noklusējums: `default`) |

```bash
# Flush a single queue
wp queuety flush --queue=emails

# Flush multiple queues in priority order
wp queuety flush --queue=critical,default,low
```

### `wp queuety dispatch`

Nosūtiet uzdevumu no komandrindas.

```bash
wp queuety dispatch <handler> [--payload=<json>] [--queue=<queue>] [--priority=<priority>] [--delay=<seconds>]
```

| Opcija | Apraksts |
|---|---|
| `<handler>` | Apstrādātāja nosaukums vai klase (obligāts) |
| `--payload=<json>` | JSON dati (noklusējums: `{}`) |
| `--queue=<queue>` | Rindas nosaukums (noklusējums: `default`) |
| `--priority=<priority>` | Prioritātes līmenis 0-3 (noklusējums: `0`) |
| `--delay=<seconds>` | Aizkave sekundēs (noklusējums: `0`) |

```bash
wp queuety dispatch send_email --payload='{"to":"user@example.com"}' --queue=emails
```

### `wp queuety status`

Rādīt rindas statistiku.

```bash
wp queuety status [--queue=<queue>]
```

| Opcija | Apraksts |
|---|---|
| `--queue=<queue>` | Filtrēt pēc rindas nosaukuma |

### `wp queuety list`

Uzskaitīt uzdevumus.

```bash
wp queuety list [--queue=<queue>] [--status=<status>] [--format=<format>]
```

| Opcija | Apraksts |
|---|---|
| `--queue=<queue>` | Filtrēt pēc rindas |
| `--status=<status>` | Filtrēt pēc statusa (`pending`, `processing`, `completed`, `failed`, `buried`) |
| `--format=<format>` | Izvades formāts: `table` (noklusējums), `json`, `csv`, `yaml` |

### `wp queuety inspect`

Rādīt pilnu informāciju par uzdevumu, tostarp tā datus un žurnāla vēsturi.

```bash
wp queuety inspect <id>
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Uzdevuma ID (obligāts) |

### `wp queuety retry`

Atkārtoti mēģināt izpildīt konkrētu uzdevumu.

```bash
wp queuety retry <id>
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Uzdevuma ID, kura izpilde jāmēģina atkārtoti (obligāts) |

### `wp queuety retry-buried`

Atkārtoti mēģināt izpildīt visus noglabātos uzdevumus.

```bash
wp queuety retry-buried
```

### `wp queuety bury`

Manuāli noglabāt uzdevumu.

```bash
wp queuety bury <id>
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Noglabājamā uzdevuma ID (obligāts) |

### `wp queuety delete`

Dzēst uzdevumu.

```bash
wp queuety delete <id>
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Dzēšamā uzdevuma ID (obligāts) |

### `wp queuety recover`

Atgūt novecojušus uzdevumus, kas iestrēguši statusā `processing`.

```bash
wp queuety recover
```

### `wp queuety purge`

Dzēst pabeigtos uzdevumus.

```bash
wp queuety purge [--older-than=<days>]
```

| Opcija | Apraksts |
|---|---|
| `--older-than=<days>` | Dzēst uzdevumus, kas vecāki par N dienām (noklusējums: `QUEUETY_RETENTION_DAYS`) |

### `wp queuety pause`

Pauzēt rindu, lai darbplūsmu izpildītāji to izlaistu.

```bash
wp queuety pause <queue>
```

| Opcija | Apraksts |
|---|---|
| `<queue>` | Pauzējamās rindas nosaukums (obligāts) |

### `wp queuety resume`

Atsākt pauzētas rindas darbību.

```bash
wp queuety resume <queue>
```

| Opcija | Apraksts |
|---|---|
| `<queue>` | Atsākamās rindas nosaukums (obligāts) |

### `wp queuety metrics`

Rādīt katra apstrādātāja metriku.

```bash
wp queuety metrics [--minutes=<minutes>] [--format=<format>]
```

| Opcija | Apraksts |
|---|---|
| `--minutes=<minutes>` | Laika periods minūtēs (noklusējums: `60`) |
| `--format=<format>` | Izvades formāts: `table` (noklusējums), `json`, `csv`, `yaml` |

### `wp queuety discover`

Atklāt apstrādātāju klases direktorijā.

```bash
wp queuety discover <directory> <namespace> [--register]
```

| Opcija | Apraksts |
|---|---|
| `<directory>` | Direktorija, kurā meklēt apstrādātāju klases (obligāts) |
| `<namespace>` | Direktorijas PSR-4 nosaukumtelpas prefikss (obligāts) |
| `--register` | Reģistrēt atrastos apstrādātājus |

## Darbplūsmu komandas

### `wp queuety workflow status`

Rādīt darbplūsmas statusu un norisi.

```bash
wp queuety workflow status <id>
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Darbplūsmas ID (obligāts) |

`status` parāda pašreizējo darbību, izvēles darbības nosaukumu, versijas/jaucējvērtības metadatus, gaidīšanas režīmu, artefaktu kopsavilkumu un `WaitInfo` JSON datu bloku, ja darbplūsmā pašlaik tiek gaidīti signāli vai atkarības.

### `wp queuety workflow list`

Uzskaitīt darbplūsmas.

```bash
wp queuety workflow list [--status=<status>] [--format=<format>]
```

| Opcija | Apraksts |
|---|---|
| `--status=<status>` | Filtrēt pēc statusa: `running`, `completed`, `failed`, `paused`, `waiting_for_signal`, `waiting_for_workflows`, `cancelled` |
| `--format=<format>` | Izvades formāts: `table` (noklusējums), `json`, `csv`, `yaml` |

Komanda atgriež ne vairāk kā 50 darbplūsmas. Tā nolasa vērtību `--limit`, bet WP-CLI pašlaik noraida karodziņu, jo komanda to nedeklarē ([#12](https://github.com/inline0/queuety/issues/12)); citam ierobežojumam izmantojiet `Queuety::list_workflows()`.

Noklusētajā tabulā ir iekļautas `StepName` un `WaitMode`, lai būtu vieglāk pārskatīt bloķētās darbplūsmas.

### `wp queuety workflow retry`

Atkārtoti mēģināt palaist neveiksmīgu darbplūsmu, sākot ar tās neveiksmīgo soli.

```bash
wp queuety workflow retry <id>
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Darbplūsmas ID (obligāts) |

### `wp queuety workflow approve`

Nosūtīt darbplūsmai apstiprinājuma signālu.

```bash
wp queuety workflow approve <id> [--data=<json>] [--signal=<name>]
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Darbplūsmas ID (obligāts) |
| `--data=<json>` | Izvēles JSON objekta dati |
| `--signal=<name>` | Ignorēt apstiprinājuma signāla nosaukumu (noklusējums: `approval`, kas atbilst `wait_for_approval()`; `wait_for_decision()` darbība pēc noklusējuma gaida `approved`, tāpēc norādiet `--signal=approved`) |

### `wp queuety workflow reject`

Nosūtīt darbplūsmai noraidījuma signālu.

```bash
wp queuety workflow reject <id> [--data=<json>] [--signal=<name>]
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Darbplūsmas ID (obligāts) |
| `--data=<json>` | Izvēles JSON objekta dati |
| `--signal=<name>` | Ignorēt noraidījuma signāla nosaukumu (noklusējums: `rejected`) |

### `wp queuety workflow input`

Nosūtīt darbplūsmai strukturētus datus.

```bash
wp queuety workflow input <id> [--data=<json>] [--signal=<name>]
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Darbplūsmas ID (obligāts) |
| `--data=<json>` | Izvēles JSON objekta dati |
| `--signal=<name>` | Ignorēt ievades signāla nosaukumu (noklusējums: `input`) |

### `wp queuety workflow artifacts`

Uzskaitīt darbplūsmā saglabātos artefaktus.

```bash
wp queuety workflow artifacts <id> [--format=<format>] [--with-content]
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Darbplūsmas ID (obligāts) |
| `--format=<format>` | Izvades formāts: `table` (noklusējums) vai `json` |
| `--with-content` | Iekļaut izvades saturā artefakta datus |

### `wp queuety workflow artifact`

Rādīt vienu darbplūsmā saglabātu artefaktu.

```bash
wp queuety workflow artifact <id> <key>
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Darbplūsmas ID (obligāts) |
| `<key>` | Artefakta atslēga (obligāta) |

### `wp queuety workflow pause`

Pauzēt darbplūsmu, kas darbojas.

```bash
wp queuety workflow pause <id>
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Darbplūsmas ID (obligāts) |

### `wp queuety workflow resume`

Atsākt pauzētu darbplūsmu.

```bash
wp queuety workflow resume <id>
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Darbplūsmas ID (obligāts) |

### `wp queuety workflow cancel`

Atcelt darbplūsmu, kas vēl nav stāvoklī `completed` vai `cancelled`. Vienā transakcijā Queuety iestata statusu uz `cancelled`, noglabā darbplūsmas gaidošos un apstrādājamos uzdevumus un reģistrē `workflow_cancelled`; pēc tam izpilda kompensācijas un visus reģistrētos tīrīšanas apstrādātājus.

```bash
wp queuety workflow cancel <id>
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Atceļamās darbplūsmas ID (obligāts) |

```bash
wp queuety workflow cancel 42
```

### `wp queuety workflow timeline`

Rādīt darbplūsmas notikumu laika skalu. Tiek parādīti visi darbību notikumi (sāktas, pabeigtas, neizdevušās darbības) kopā ar laika zīmogiem, apstrādātājiem un ilgumu.

```bash
wp queuety workflow timeline <id> [--limit=<limit>] [--offset=<offset>] [--format=<format>]
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Darbplūsmas ID (obligāts) |
| `--limit=<limit>` | Maksimālais atgriežamo notikumu skaits (noklusējums: `100`) |
| `--offset=<offset>` | Izlaižamo iepriekšējo notikumu skaits (noklusējums: `0`) |
| `--format=<format>` | Izvades formāts: `table` (noklusējums), `json`, `csv`, `yaml` |

```bash
wp queuety workflow timeline 42
```

Izvades kolonnas: `ID`, `Step`, `Event`, `Handler`, `Duration_ms`, `Error`, `Created_at`.

### `wp queuety workflow state-at`

Rādīt publisko darbplūsmas stāvokli pēc konkrētas darbplūsmas darbības pabeigšanas vai atsākšanas.

```bash
wp queuety workflow state-at <id> <step>
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Darbplūsmas ID (obligāts) |
| `<step>` | Darbības indekss, sākot no 0 (obligāts) |

```bash
wp queuety workflow state-at 42 0
```

Informāciju par reģistrētajiem datiem un lietošanas gadījumiem skatiet sadaļā [Darbplūsmas notikumu žurnāls](https://queuety.inline0.dev/lv/docs/workflows/event-log).

### `wp queuety workflow rewind`

Attīt darbplūsmu līdz iepriekšējai darbībai un turpināt ar nākamo darbību. Stāvoklis tiek atjaunots no notikumu žurnāla `state_after` norādītajai darbībai, un rindā tiek ievietota nākamā darbība (`<step> + 1`); norādītā darbība netiek izpildīta atkārtoti.

```bash
wp queuety workflow rewind <id> <step>
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Darbplūsmas ID (obligāts) |
| `<step>` | Darbības indekss, līdz kuram attīt, sākot no 0 (obligāts) |

```bash
wp queuety workflow rewind 42 1
```

Detalizētu informāciju skatiet sadaļā [Ceļošana laikā](https://queuety.inline0.dev/lv/docs/workflows/time-travel).

### `wp queuety workflow fork`

Atzarot darbojošos darbplūsmu neatkarīgā kopijā tās pašreizējā stāvoklī. Atzarotā darbplūsma saņem jaunu ID un turpinās neatkarīgi.

```bash
wp queuety workflow fork <id>
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Atzarojamās darbplūsmas ID (obligāts) |

```bash
wp queuety workflow fork 42
# Success: Workflow #42 forked. New workflow ID: 43.
```

Detalizētu informāciju skatiet sadaļā [Atzarošana](https://queuety.inline0.dev/lv/docs/workflows/forking).

### `wp queuety workflow export`

Eksportēt pilnu darbplūsmas izpildes vēsturi uz JSON. Iekļauta darbplūsmas rinda, uzdevumi, darbplūsmas notikumi, žurnāla ieraksti, saglabātie signāli un darbplūsmas atkarību gaidīšanas dati.

```bash
wp queuety workflow export <id> [--output=<file>]
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Darbplūsmas ID (obligāts) |
| `--output=<file>` | Faila ceļš, kurā ierakstīt JSON. Pēc noklusējuma — stdout. |

```bash
# Print to stdout
wp queuety workflow export 42

# Write to a file
wp queuety workflow export 42 --output=/tmp/workflow-42.json
```

Detalizētu informāciju par JSON struktūru skatiet sadaļā [Eksportēšana un atkārtota atskaņošana](https://queuety.inline0.dev/lv/docs/workflows/export-replay).

### `wp queuety workflow replay`

Atkārtoti atskaņot eksportētu darbplūsmu no JSON faila. Izveido jaunu darbplūsmu ar eksportēto stāvokli, metadatiem un vēsturisko laika skalu.

```bash
wp queuety workflow replay <file>
```

| Opcija | Apraksts |
|---|---|
| `<file>` | Ceļš uz eksportēto JSON failu (obligāts) |

```bash
wp queuety workflow replay /tmp/workflow-42.json
# Success: Workflow replayed. New workflow ID: 85.
```

Plašāku informāciju skatiet sadaļā [Eksportēšana un atkārtota atskaņošana](https://queuety.inline0.dev/lv/docs/workflows/export-replay).

## Grafiku komandas

### `wp queuety schedule list`

Uzskaitīt visus periodiskos grafikus.

```bash
wp queuety schedule list [--format=<format>]
```

| Opcija | Apraksts |
|---|---|
| `--format=<format>` | Izvades formāts: `table` (noklusējums), `json`, `csv`, `yaml` |

### `wp queuety schedule add`

Pievienot periodisku grafiku.

```bash
wp queuety schedule add <handler> [--every=<interval>] [--cron=<expression>] [--payload=<json>] [--queue=<queue>]
```

| Opcija | Apraksts |
|---|---|
| `<handler>` | Apstrādātāja nosaukums vai klase (obligāts) |
| `--every=<interval>` | Intervāla izteiksme (e.g. `1 hour`, `30 minutes`) |
| `--cron=<expression>` | Cron izteiksme (e.g. `0 3 * * *`) |
| `--payload=<json>` | JSON dati (noklusējums: `{}`) |
| `--queue=<queue>` | Rindas nosaukums (noklusējums: `default`) |

Jānorāda vai nu `--every`, vai `--cron`.

```bash
wp queuety schedule add cleanup_handler --every="1 hour"
wp queuety schedule add nightly_report --cron="0 3 * * *" --queue=reports
```

### `wp queuety schedule remove`

Noņemt grafiku pēc apstrādātāja nosaukuma.

```bash
wp queuety schedule remove <handler>
```

| Opcija | Apraksts |
|---|---|
| `<handler>` | Noņemamā apstrādātāja nosaukums (obligāts) |

### `wp queuety schedule run`

Manuāli palaist plānotāja ciklu. Rindā ievieto uzdevumus visiem pienākušajiem grafikiem.

```bash
wp queuety schedule run
```

## Žurnāla komandas

### `wp queuety log`

Vaicāt žurnāla ierakstus.

```bash
wp queuety log [--job=<id>] [--workflow=<id>] [--handler=<name>] [--event=<event>] [--since=<datetime>] [--limit=<n>] [--format=<format>]
```

| Opcija | Apraksts |
|---|---|
| `--job=<id>` | Filtrēt pēc uzdevuma ID |
| `--workflow=<id>` | Filtrēt pēc darbplūsmas ID |
| `--handler=<name>` | Filtrēt pēc apstrādātāja nosaukuma |
| `--event=<event>` | Filtrēt pēc notikuma veida (`started`, `completed`, `failed`, `buried`, `retried`, `workflow_started`, `workflow_completed`, `workflow_failed`, `workflow_paused`, `workflow_resumed`, `workflow_cancelled`, `workflow_rewound`, `workflow_forked`, `workflow_deadline_exceeded`, `debug`) |
| `--since=<datetime>` | Rādīt ierakstus, sākot no šī datuma un laika |
| `--limit=<n>` | Maksimālais rādāmo ierakstu skaits (noklusējums: `50`) |
| `--format=<format>` | Izvades formāts: `table` (noklusējums), `json`, `csv`, `yaml` |

Filtri netiek apvienoti: Queuety piemēro pirmo norādīto filtru šādā secībā: `--job`, `--workflow`, `--handler`, `--event`, `--since`. `--job` un `--workflow` atgriež visus ierakstus, sākot ar vecākajiem, un ignorē `--limit`. `--handler` un `--event` vispirms atgriež jaunākos ierakstus. Ja filtrs nav norādīts, komanda nolasa pēdējo 24 stundu ierakstus; šis vaicājums un `--since` uzskaita ierakstus, sākot ar vecākajiem, tāpēc `--limit` saglabā perioda vecākos ierakstus.

```bash
# Logs from the last 24 hours (oldest first)
wp queuety log

# Logs for a job
wp queuety log --job=42

# Failed events
wp queuety log --event=failed --limit=100

# Logs since a specific time
wp queuety log --since="2025-03-01 00:00:00"
```

### Žurnālu dzēšana

`LogCommand` definē apakškomandu `purge` (`wp queuety log purge --older-than=<days>`), bet WP-CLI reģistrē `wp queuety log` kā vienu komandu, tāpēc apakškomandai nevar piekļūt un tā neizdodas ar kļūdu "Too many positional arguments: purge" ([#11](https://github.com/inline0/queuety/issues/11)). Tā vietā dzēsiet vecos žurnāla ierakstus no PHP:

```bash
wp eval 'echo Queuety\Queuety::purge_logs( 30 );'
```

## Tīmekļa āķu komandas

### `wp queuety webhook add`

Reģistrēt notikuma tīmekļa āķa URL.

```bash
wp queuety webhook add <event> <url>
```

| Opcija | Apraksts |
|---|---|
| `<event>` | Notikuma nosaukums: `job.completed`, `job.failed`, `job.buried` vai `workflow.failed` (obligāts) |
| `<url>` | URL, uz kuru sūtīt POST paziņojumus (obligāts) |

```bash
wp queuety webhook add job.buried https://hooks.slack.com/services/...
```

### `wp queuety webhook list`

Uzskaitīt visus reģistrētos tīmekļa āķus.

```bash
wp queuety webhook list [--format=<format>]
```

| Opcija | Apraksts |
|---|---|
| `--format=<format>` | Izvades formāts: `table` (noklusējums), `json`, `csv`, `yaml` |

### `wp queuety webhook remove`

Noņemt tīmekļa āķi pēc ID.

```bash
wp queuety webhook remove <id>
```

| Opcija | Apraksts |
|---|---|
| `<id>` | Noņemamā tīmekļa āķa ID (obligāts) |
