---
title: "Priebeh a vyhľadávanie — Campaigns for Laravel | Roundly"
description: "Vyhľadajte kampaň podľa UUID, čítajte stav, počítadlá a percento, prechádzajte zoznam kampaní a zrušte bežiace odosielanie."
url: https://roundly-consulting.com/sk/open-source/navody/campaigns-for-laravel/priebeh-a-vyhladavanie
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Campaigns for Laravel](https://roundly-consulting.com/sk/open-source/navody/campaigns-for-laravel.md)

# Priebeh a vyhľadávanie

Vyhľadajte kampaň podľa UUID a prečítajte jej priebeh:

```php
use RoundlyConsulting\Campaigns\Facades\Campaigns;

$campaign = Campaigns::find($uuid);         // ?Campaign — null when unknown
$campaign = Campaigns::findOrFail($uuid);   // throws CampaignNotFound when unknown

$progress = $campaign->progress;            // CampaignProgress
$progress->status;                          // CampaignStatus, e.g. CampaignStatus::Processing
$progress->sent;                            // recipients delivered
$progress->failed;                          // deliveries that failed — never counted as sent
$progress->pending;                         // recipients with no outcome yet
$progress->total;                           // recipients in the campaign
$progress->percentage();                    // sent / total * 100, rounded to 2 decimals
$progress->remaining();                     // total - sent - failed, never below 0
$progress->isRunning();                     // status is Processing
$progress->isComplete();                    // status is Completed, Failed or Canceled

$campaign->startedAt;                       // ?Carbon — first switch to Processing
$campaign->endedAt;                         // ?Carbon — first terminal status
```

Vyhľadávanie číta nastavené úložisko. Predvolené úložisko v pamäti žije len počas požiadavky, konzolového príkazu alebo jobu vo fronte, ktorý kampaň vytvoril. Keď sa táto požiadavka skončí, find() vráti null a findOrFail() aj campaign() vyhodia CampaignNotFound — rovnako z neskoršej požiadavky, z dashboardu, ktorý priebeh pravidelne načítava, aj z workera fronty. Ak chcete sledovať priebeh naprieč procesmi, prepnite na databázové úložisko (pozri Databázové úložisko).

Priebeh počíta každého príjemcu raz: sent boli doručené, failed zlyhali — job doručenia ich zaznamenal ako neúspešné alebo zlyhal samotný job (vyhodil výnimku, vypršal mu čas, minul pokusy) — a zvyšok ešte čaká. Neúspešné doručenie sa nikdy nezapočíta ako odoslané a kampaň predčasne neukončí. percentage() je podiel doručených bez zlyhaní a vracia 0.0, kým je total 0.

## Kedy sa počítadlá aktualizujú

Počítadlá sa ukladajú pri každej zmene stavu — pri príprave, spustení, dokončení, zlyhaní a zrušení. Kým je kampaň v stave Pending alebo Processing, find(), all() aj progress() na handli čítajú živé čísla z jej príjemcov a dávky jobov, takže dashboard vidí priebeh počas doručovania. Samotnú dávku máte na jedno volanie:

```php
use RoundlyConsulting\Campaigns\Facades\Campaigns;

$batch = Campaigns::campaign($campaign)->batch();   // ?Illuminate\Bus\Batch — null before prepare()

$batch?->progress();       // Laravel's own percentage
$batch?->pendingJobs;      // jobs still waiting
$batch?->failedJobs;       // jobs that failed outright
```

Jednotliví príjemcovia majú vlastný stav — vypíšete ich cez Campaigns::campaign($uuid)->recipients() a jedného prečítate cez ->recipient($recipientUuid).

## Výpis a zrušenie

```php
use RoundlyConsulting\Campaigns\Campaign;
use RoundlyConsulting\Campaigns\Facades\Campaigns;

// A page of campaigns in creation order: offset, limit (defaults 0 and 10).
Campaigns::all(0, 25)->each(function (Campaign $campaign): void {
    logger()->info($campaign->subject, $campaign->progress->toArray());
});

// Cancel a campaign and its batch — the status becomes Canceled.
$campaign = Campaigns::cancel($uuid);   // a campaign that already ended comes back unchanged
```

cancel() zruší dávku, presunie kampaň do stavu Canceled a vráti ju; už skončenú kampaň vráti bez zmeny. Joby, ktoré ešte čakajú vo fronte, zistia, že dávka je zrušená, a skončia bez odoslania. find() pre neznáme UUID vráti null; findOrFail(), campaign(), start() a cancel() vyhodia CampaignNotFound.

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/campaigns-for-laravel.md)
