
# CLI Başvurusu

Tüm Queuety işlemlerine varsayılan olarak `wp queuety` ad alanı altındaki WP-CLI üzerinden erişilebilir.

Komut ağacını `wp themequeue` gibi farklı bir kök altında yayımlamak istiyorsanız, Queuety başlatılmadan önce `QUEUETY_CLI_COMMAND` tanımlayın.

Aracı test düzenekleri ve diğer sanal bash tümleştirmeleri için bu sayfayı insanlara yönelik başvuru kaynağı, PHP köprüsünü ise makine sözleşmesi olarak kullanın:

- `Queuety::cli_command_map()` serileştirilebilir komut kataloğunu sunar
- `Queuety::resolve_cli_command( $path, $args, $assoc_args )` ayrıştırılan `wp queuety ...` girdisini, doğrudan PHP çağrılabilirlerini tercih eden normalleştirilmiş bir yürütme planına dönüştürür

Durum makinelerinin bu ağaçta komutları yoktur; bunları [Durum Makineleri](https://queuety.inline0.dev/tr/docs/state-machines) bölümünde açıklanan PHP API üzerinden inceleyin.

## İş komutları

### `wp queuety work`

İşleri işleyen bir çalışan başlatır.

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

| Seçenek | Açıklama |
|---|---|
| `--queue=<queue>` | İşlenecek Queue(s); öncelik sıralaması için virgülle ayrılır (varsayılan: `default`) |
| `--once` | En fazla bir işi işler ve çıkar (alınabilir iş olmadığında da hemen çıkar) |
| `--workers=<n>` | N çalışan süreci çatallar (`pcntl` ve `posix` uzantılarını gerektirir; `--min-workers` ve `--max-workers` de öyle) |
| `--min-workers=<n>` | Uyarlanabilir havuz için en düşük çalışan sayısı. `--max-workers` gerektirir |
| `--max-workers=<n>` | Uyarlanabilir havuz için en yüksek çalışan sayısı |

```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
```

Birden fazla kuyruk belirtildiğinde çalışan, her kuyruktan listelenen sırayla iş almaya çalışır. Kullanılabilir işi olan ilk kuyruk kazanır. `--workers` havuzu sabit tutar. `--min-workers` ve `--max-workers`, aynı komut arayüzü için uyarlanabilir ölçeklendirmeyi etkinleştirir. Dağıtım stratejileri için bkz. [Çalışanlar](https://queuety.inline0.dev/tr/docs/features/workers); uyarlanabilir havuzların kabul modeli için bkz. [Kaynak Yönetimi](https://queuety.inline0.dev/tr/docs/features/resource-management).

### `wp queuety flush`

Bekleyen tüm işleri işler ve çıkar.

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

| Seçenek | Açıklama |
|---|---|
| `--queue=<queue>` | Boşaltılacak Queue(s); öncelik sıralaması için virgülle ayrılır (varsayılan: `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`

Komut satırından bir iş dağıtın.

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

| Seçenek | Açıklama |
|---|---|
| `<handler>` | İşleyici adı veya sınıfı (gerekli) |
| `--payload=<json>` | JSON yükü (varsayılan: `{}`) |
| `--queue=<queue>` | Kuyruk adı (varsayılan: `default`) |
| `--priority=<priority>` | Öncelik düzeyi 0-3 (varsayılan: `0`) |
| `--delay=<seconds>` | Saniye cinsinden gecikme (varsayılan: `0`) |

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

### `wp queuety status`

Kuyruk istatistiklerini gösterir.

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

| Seçenek | Açıklama |
|---|---|
| `--queue=<queue>` | Kuyruk adına göre filtrele |

### `wp queuety list`

İşleri listeler.

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

| Seçenek | Açıklama |
|---|---|
| `--queue=<queue>` | Kuyruğa göre filtrele |
| `--status=<status>` | Duruma göre filtrele (`pending`, `processing`, `completed`, `failed`, `buried`) |
| `--format=<format>` | Çıktı biçimi: `table` (varsayılan), `json`, `csv`, `yaml` |

### `wp queuety inspect`

Yük ve günlük geçmişi dahil bir işin tüm ayrıntılarını gösterir.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | İş kimliği (gerekli) |

### `wp queuety retry`

Belirli bir işi yeniden dener.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | Yeniden denenecek iş kimliği (gerekli) |

### `wp queuety retry-buried`

Gömülü tüm işleri yeniden dener.

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

### `wp queuety bury`

Bir işi elle gömer.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | Gömülecek iş kimliği (gerekli) |

### `wp queuety delete`

Bir işi siler.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | Silinecek iş kimliği (gerekli) |

### `wp queuety recover`

`processing` durumunda takılı kalan eski işleri kurtarır.

```bash
wp queuety recover
```

### `wp queuety purge`

Tamamlanmış işleri temizler.

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

| Seçenek | Açıklama |
|---|---|
| `--older-than=<days>` | N günden eski işleri siler (varsayılan: `QUEUETY_RETENTION_DAYS`) |

### `wp queuety pause`

Çalışanların atlaması için bir kuyruğu duraklatın.

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

| Seçenek | Açıklama |
|---|---|
| `<queue>` | Duraklatılacak kuyruk adı (gerekli) |

### `wp queuety resume`

Duraklatılmış bir kuyruğu sürdürün.

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

| Seçenek | Açıklama |
|---|---|
| `<queue>` | Sürdürülecek kuyruk adı (gerekli) |

### `wp queuety metrics`

İşleyici başına ölçümleri gösterir.

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

| Seçenek | Açıklama |
|---|---|
| `--minutes=<minutes>` | Dakika cinsinden zaman aralığı (varsayılan: `60`) |
| `--format=<format>` | Çıktı biçimi: `table` (varsayılan), `json`, `csv`, `yaml` |

### `wp queuety discover`

Bir dizindeki işleyici sınıflarını keşfeder.

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

| Seçenek | Açıklama |
|---|---|
| `<directory>` | İşleyici sınıflarının taranacağı dizin (gerekli) |
| `<namespace>` | Dizin için PSR-4 ad alanı öneki (gerekli) |
| `--register` | Keşfedilen işleyicileri gerçekten kaydeder |

## İş akışı komutları

### `wp queuety workflow status`

İş akışı durumunu ve ilerlemesini gösterir.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | İş akışı kimliği (gerekli) |

`status` geçerli adımı, isteğe bağlı adım adını, sürüm/hash meta verilerini, bekleme modunu, yapıt özetini ve iş akışı sinyaller veya bağımlılıklar nedeniyle engellendiğinde `WaitInfo` JSON blob'unu yazdırır.

### `wp queuety workflow list`

İş akışlarını listeler.

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

| Seçenek | Açıklama |
|---|---|
| `--status=<status>` | Duruma göre filtrele: `running`, `completed`, `failed`, `paused`, `waiting_for_signal`, `waiting_for_workflows`, `cancelled` |
| `--format=<format>` | Çıktı biçimi: `table` (varsayılan), `json`, `csv`, `yaml` |

Komut en fazla 50 iş akışı döndürür. Bir `--limit` değeri okur, ancak komut bu işareti tanımlamadığı için WP-CLI şu anda işareti reddeder ([#12](https://github.com/inline0/queuety/issues/12)); farklı bir sınır için `Queuety::list_workflows()` kullanın.

Varsayılan tablo, engellenen iş akışlarını taramayı kolaylaştırmak için `StepName` ve `WaitMode` içerir.

### `wp queuety workflow retry`

Başarısız olmuş bir iş akışını, başarısız olduğu adımdan yeniden deneyin.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | İş akışı kimliği (gerekli) |

### `wp queuety workflow approve`

Bir iş akışına onay sinyali gönderir.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | İş akışı kimliği (gerekli) |
| `--data=<json>` | İsteğe bağlı JSON nesne yükü |
| `--signal=<name>` | Onay sinyali adını geçersiz kılar (varsayılan: `approval`; bu, `wait_for_approval()` ile eşleşir; `wait_for_decision()` adımı varsayılan olarak `approved` sinyalini dinler, bu nedenle orada `--signal=approved` iletin) |

### `wp queuety workflow reject`

Bir iş akışına ret sinyali gönderir.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | İş akışı kimliği (gerekli) |
| `--data=<json>` | İsteğe bağlı JSON nesne yükü |
| `--signal=<name>` | Ret sinyali adını geçersiz kılar (varsayılan: `rejected`) |

### `wp queuety workflow input`

Bir iş akışına yapılandırılmış girdi gönderir.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | İş akışı kimliği (gerekli) |
| `--data=<json>` | İsteğe bağlı JSON nesne yükü |
| `--signal=<name>` | Girdi sinyali adını geçersiz kılar (varsayılan: `input`) |

### `wp queuety workflow artifacts`

Bir iş akışına ait saklanan yapıtları listeler.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | İş akışı kimliği (gerekli) |
| `--format=<format>` | Çıktı biçimi: `table` (varsayılan) veya `json` |
| `--with-content` | Yapıt içeriğini çıktıya dahil eder |

### `wp queuety workflow artifact`

Bir iş akışına ait saklanan tek bir yapıtı gösterir.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | İş akışı kimliği (gerekli) |
| `<key>` | Yapıt anahtarı (gerekli) |

### `wp queuety workflow pause`

Çalışan bir iş akışını duraklatır.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | İş akışı kimliği (gerekli) |

### `wp queuety workflow resume`

Duraklatılmış bir iş akışını sürdürün.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | İş akışı kimliği (gerekli) |

### `wp queuety workflow cancel`

`completed` veya `cancelled` durumunda olmayan bir iş akışını iptal eder. Queuety tek bir işlemde durumu `cancelled` olarak ayarlar, iş akışının bekleyen ve işlenen işlerini gömer ve `workflow_cancelled` günlüklerini kaydeder; ardından telafi işlemlerini ve kayıtlı tüm temizleme işleyicilerini çalıştırır.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | İptal edilecek iş akışı kimliği (gerekli) |

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

### `wp queuety workflow timeline`

Bir iş akışının olay zaman çizelgesini gösterir. Zaman damgaları, işleyiciler ve sürelerle birlikte tüm adım olaylarını (başlatıldı, tamamlandı, başarısız oldu) görüntüler.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | İş akışı kimliği (gerekli) |
| `--limit=<limit>` | Döndürülecek en fazla olay sayısı (varsayılan: `100`) |
| `--offset=<offset>` | Atlanacak önceki olay sayısı (varsayılan: `0`) |
| `--format=<format>` | Çıktı biçimi: `table` (varsayılan), `json`, `csv`, `yaml` |

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

Çıktı sütunları: `ID`, `Step`, `Event`, `Handler`, `Duration_ms`, `Error`, `Created_at`.

### `wp queuety workflow state-at`

Belirli bir iş akışı adımı tamamlandıktan veya sürdürüldükten sonraki herkese açık iş akışı durumunu gösterir.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | İş akışı kimliği (gerekli) |
| `<step>` | Adım dizini, 0 tabanlı (gerekli) |

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

Nelerin kaydedildiği ve kullanım örnekleri hakkında ayrıntılar için bkz. [İş Akışı Olay Günlüğü](https://queuety.inline0.dev/tr/docs/workflows/event-log).

### `wp queuety workflow rewind`

Bir iş akışını önceki bir adıma geri sarar ve o adımdan sonraki adımdan devam eder. Durum, verilen adım için olay günlüğündeki `state_after` kaydından geri yüklenir ve sonraki adım (`<step> + 1`) kuyruğa alınır; belirtilen adım yeniden çalıştırılmaz.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | İş akışı kimliği (gerekli) |
| `<step>` | Geri sarılacak adım dizini, 0 tabanlı (gerekli) |

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

Ayrıntılar için bkz. [Zamanda Yolculuk](https://queuety.inline0.dev/tr/docs/workflows/time-travel).

### `wp queuety workflow fork`

Çalışan bir iş akışını geçerli durumunda bağımsız bir kopyaya çatallar. Çatallanan iş akışı yeni bir kimlik alır ve bağımsız olarak ilerler.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | Çatallanacak iş akışı kimliği (gerekli) |

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

Ayrıntılar için bkz. [Dallanma](https://queuety.inline0.dev/tr/docs/workflows/forking).

### `wp queuety workflow export`

Bir iş akışının tüm yürütme geçmişini JSON konumuna aktarır. İş akışı satırını, işleri, iş akışı olaylarını, günlük girdilerini, saklanan sinyalleri ve iş akışı bağımlılık beklemelerini içerir.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | İş akışı kimliği (gerekli) |
| `--output=<file>` | JSON yazılacak dosya yolu. Varsayılan olarak stdout kullanılır. |

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

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

JSON yapısı hakkındaki ayrıntılar için bkz. [Dışa Aktarma ve Yeniden Oynatma](https://queuety.inline0.dev/tr/docs/workflows/export-replay).

### `wp queuety workflow replay`

Dışa aktarılmış bir iş akışını JSON dosyasından yeniden oynatır. Dışa aktarılan durum, meta veriler ve geçmiş zaman çizelgesiyle yeni bir iş akışı oluşturur.

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

| Seçenek | Açıklama |
|---|---|
| `<file>` | Dışa aktarılmış JSON dosyasının yolu (gerekli) |

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

Ayrıntılar için [Dışa Aktarma ve Yeniden Oynatma](https://queuety.inline0.dev/tr/docs/workflows/export-replay) bölümüne bakın.

## Zamanlama komutları

### `wp queuety schedule list`

Tüm yinelenen zamanlamaları listeler.

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

| Seçenek | Açıklama |
|---|---|
| `--format=<format>` | Çıktı biçimi: `table` (varsayılan), `json`, `csv`, `yaml` |

### `wp queuety schedule add`

Yinelenen bir zamanlama ekler.

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

| Seçenek | Açıklama |
|---|---|
| `<handler>` | İşleyici adı veya sınıfı (gerekli) |
| `--every=<interval>` | Aralık ifadesi (e.g. `1 hour`, `30 minutes`) |
| `--cron=<expression>` | Cron ifadesi (e.g. `0 3 * * *`) |
| `--payload=<json>` | JSON yükü (varsayılan: `{}`) |
| `--queue=<queue>` | Kuyruk adı (varsayılan: `default`) |

`--every` veya `--cron` belirtmelisiniz.

```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`

Bir zamanlamayı işleyici adına göre kaldırır.

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

| Seçenek | Açıklama |
|---|---|
| `<handler>` | Kaldırılacak işleyici adı (gerekli) |

### `wp queuety schedule run`

Zamanlayıcı adımını elle tetikler. Vadesi gelen tüm zamanlamalar için işleri kuyruğa alır.

```bash
wp queuety schedule run
```

## Günlük komutları

### `wp queuety log`

Günlük girdilerini sorgular.

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

| Seçenek | Açıklama |
|---|---|
| `--job=<id>` | İş kimliğine göre filtrele |
| `--workflow=<id>` | İş akışı kimliğine göre filtrele |
| `--handler=<name>` | İşleyici adına göre filtrele |
| `--event=<event>` | Olay türüne göre filtrele (`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>` | Bu tarih ve saatten sonraki kayıtları göster |
| `--limit=<n>` | Gösterilecek en fazla kayıt sayısı (varsayılan: `50`) |
| `--format=<format>` | Çıktı biçimi: `table` (varsayılan), `json`, `csv`, `yaml` |

Filtreler birleştirilmez: Queuety mevcut olan ilk filtreyi şu sırayla uygular: `--job`, `--workflow`, `--handler`, `--event`, `--since`. `--job` ve `--workflow` tüm kayıtları en eskiden başlayarak döndürür ve `--limit` seçeneğini yok sayar. `--handler` ve `--event` en yeni kayıtları önce döndürür. Filtre olmadan komut son 24 saati okur; bu sorgu ve `--since` kayıtları en eskiden başlayarak listeler, bu nedenle `--limit` zaman aralığındaki en eski kayıtları tutar.

```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"
```

### Günlükleri temizleme

`LogCommand` bir `purge` alt komutu (`wp queuety log purge --older-than=<days>`) tanımlar, ancak WP-CLI, `wp queuety log` öğesini tek bir komut olarak kaydeder; bu nedenle alt komuta erişilemez ve "Too many positional arguments: purge" hatası verir ([#11](https://github.com/inline0/queuety/issues/11)). Bunun yerine eski günlük kayıtlarını PHP konumundan temizleyin:

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

## Webhook komutları

### `wp queuety webhook add`

Bir olay için webhook URL kaydedin.

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

| Seçenek | Açıklama |
|---|---|
| `<event>` | Olay adı: `job.completed`, `job.failed`, `job.buried` veya `workflow.failed` (gerekli) |
| `<url>` | Bildirimlerin POST edileceği URL (gerekli) |

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

### `wp queuety webhook list`

Kayıtlı tüm webhook'ları listeleyin.

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

| Seçenek | Açıklama |
|---|---|
| `--format=<format>` | Çıktı biçimi: `table` (varsayılan), `json`, `csv`, `yaml` |

### `wp queuety webhook remove`

Bir webhook'u kimliğine göre kaldırın.

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

| Seçenek | Açıklama |
|---|---|
| `<id>` | Kaldırılacak webhook'un kimliği (gerekli) |
