Pāriet uz saturu

Artefakti

Artefakti ļauj glabāt noturīgus darbplūsmas rezultātus, nepalielinot galvenā darbplūsmas stāvokļa datu apjomu.

Tie ir piemēroti melnrakstu dokumentiem, izvilktiem JSON plāniem, citātiem, avotu manifestiem, ģenerētiem failu ceļiem vai uzvedņu un atbilžu momentuzņēmumiem, ko vēlaties pārbaudīt vēlāk. Tas ir īpaši noderīgi aģentu darbplūsmās, kur galīgajam stāvoklim jāpaliek nelielam un pārskatāmam, lai gan katrā izpildē var tikt ģenerēti lieli starprezultāti.

Kāpēc izmantot artefaktus, nevis darbplūsmas stāvokli

Darbplūsmas stāvoklis ir ideāli piemērots nelieliem publiskiem datiem, kas nākamajai darbībai vajadzīgi uzreiz.

Artefakti ir piemērotāki, ja izvade ir lielāka par parastām stāvokļa vērtībām, paredzēta galvenokārt vēlākai pārbaudei, noderīga pārskatīšanas vai eksporta saskarnēs vai vienkārši labāk attēlojama kā nosaukta izvade, nevis viens liels stāvokļa bloks.

Saglabājiet artefaktu pašreizējai darbplūsmas darbībai

Ja kods jau darbojas darbplūsmas darbībā, izmantojiet Queuety::put_current_artifact():

PHP
use Queuety\Queuety;
use Queuety\Step;

final class DraftBriefStep implements Step
{
    public function handle(array $state): array
    {
        $draft = [
            'title' => 'Pricing brief',
            'body' => '...',
        ];

        Queuety::put_current_artifact(
            'draft',
            $draft,
            'json',
            [ 'source' => 'planner' ],
        );

        return [ 'draft_ready' => true ];
    }

    public function config(): array
    {
        return [];
    }
}

Queuety automātiski pievieno pašreizējo darbplūsmas ID un darbības indeksu.

Saglabājiet artefaktu ārpus darbplūsmas

Ja jau zināt darbplūsmas ID, izmantojiet Queuety::put_artifact():

PHP
Queuety::put_artifact(
    $workflow_id,
    'research_brief',
    "# Research Brief\n\nDone.",
    'markdown',
    metadata: [ 'reviewed_by' => 'editor@example.com' ],
);

Ielasiet artefaktus

PHP
$artifact = Queuety::workflow_artifact( $workflow_id, 'draft' );

$artifacts = Queuety::workflow_artifacts( $workflow_id );

Katrā artefakta ierakstā ir lauki key, kind, content, metadata, step_index, created_at un updated_at. Queuety::workflow_artifacts() neiekļauj content, ja vien to nenorādāt kā otro argumentu: true.

Darbplūsmas statusa integrācija

Queuety::workflow_status() tagad ietver īsu artefaktu kopsavilkumu:

PHP
$status = Queuety::workflow_status( $workflow_id );

echo $status->artifact_count; // 2
print_r( $status->artifact_keys ); // ['draft', 'citations']

Tādējādi artefakti ir redzami, neiekļaujot statusa izvadē visu to saturu.

CLI

Uzskaitīt darbplūsmas artefaktus:

Apvalks
wp queuety workflow artifacts 42

Parādīt vienu artefaktu ar saturu:

Apvalks
wp queuety workflow artifact 42 draft

Pilnu komandu aprakstu skatiet CLI.

Eksportēšana un atkārtota izpilde

Artefakti tiek iekļauti darbplūsmu eksportos un kopēti atkārtoti izpildītās darbplūsmās.

Tas nozīmē, ka aģenta izpildes, kuru pamatā ir artefakti, joprojām var pārbaudīt, arī pārvietojot tās starp vidēm vai atjaunojot izpildi no eksportētās izpildes vēstures.