
# Διαχείριση ουρών

Το Queuety υποστηρίζει πολλές επώνυμες ουρές. Κάθε εργαζόμενος επεξεργάζεται μία ουρά ή μια ταξινομημένη λίστα ουρών (βλ. [Εργαζόμενοι](https://queuety.inline0.dev/el/docs/features/workers#multi-queue-priorities)) και οι ουρές μπορούν να τεθούν σε παύση και να συνεχιστούν ανεξάρτητα.

## Επώνυμες ουρές

Αποστείλετε εργασίες σε συγκεκριμένες ουρές:

```php
use Queuety\Queuety;

Queuety::dispatch( 'send_email', $payload )->on_queue( 'emails' );
Queuety::dispatch( 'process_image', $payload )->on_queue( 'media' );
Queuety::dispatch( 'sync_data', $payload )->on_queue( 'sync' );
```

Εκτελέστε εργαζομένους για κάθε ουρά:

```bash
wp queuety work --queue=emails
wp queuety work --queue=media
wp queuety work --queue=sync
```

Η προεπιλεγμένη ουρά είναι `default`. Αν δεν καθορίσετε ουρά, οι εργασίες αποστέλλονται εκεί.

## Παύση και συνέχιση

Θέστε μια ουρά σε παύση για να σταματήσετε τους εργαζομένους από το να αναλαμβάνουν νέες εργασίες. Οι εργασίες που ήδη υποβάλλονται σε επεξεργασία θα ολοκληρωθούν, αλλά δεν θα αναληφθούν νέες.

```php
Queuety::pause( 'emails' );
Queuety::resume( 'emails' );
```

Ελέγξτε αν μια ουρά βρίσκεται σε παύση:

```php
if ( Queuety::is_paused( 'emails' ) ) {
    // Queue is paused
}
```

Μέσω του CLI:

```bash
wp queuety pause emails
wp queuety resume emails
```

Αυτό είναι χρήσιμο κατά τις αναπτύξεις ή τα παράθυρα συντήρησης, όταν θέλετε να διακόψετε προσωρινά την επεξεργασία χωρίς να τερματίσετε τον εργαζόμενο.

## Στατιστικά ουράς

Λάβετε πλήθος εργασιών ομαδοποιημένο ανά κατάσταση:

```php
$stats = Queuety::stats(); // all queues
$stats = Queuety::stats( 'emails' ); // specific queue

// Returns: ['pending' => 12, 'processing' => 3, 'completed' => 150, 'failed' => 2, 'buried' => 1]
```

Μέσω του CLI:

```bash
wp queuety status
wp queuety status --queue=emails
```

## Θαμμένες εργασίες

Εμφανίστε όλες τις θαμμένες εργασίες (που απέτυχαν αφού εξαντλήθηκαν οι προσπάθειες επανάληψης):

```php
$buried = Queuety::buried(); // all queues
$buried = Queuety::buried( 'emails' ); // specific queue
```

Επαναλάβετε την προσπάθεια για αυτές:

```php
Queuety::retry( $job_id );       // retry a specific job
Queuety::retry_buried();         // retry all buried jobs
```

## Εκκαθάριση ολοκληρωμένων εργασιών

Αφαιρέστε παλιές ολοκληρωμένες εργασίες για να διατηρήσετε καθαρή τη βάση δεδομένων:

```php
$count = Queuety::purge();     // uses QUEUETY_RETENTION_DAYS (default: 7)
$count = Queuety::purge( 30 ); // purge jobs older than 30 days
```

Μέσω του CLI:

```bash
wp queuety purge
wp queuety purge --older-than=30
```
