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():
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():
Queuety::put_artifact(
$workflow_id,
'research_brief',
"# Research Brief\n\nDone.",
'markdown',
metadata: [ 'reviewed_by' => 'editor@example.com' ],
);
Ielasiet artefaktus
$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:
$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:
wp queuety workflow artifacts 42
Parādīt vienu artefaktu ar saturu:
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.