Τεχνουργήματα
Τα τεχνουργήματα σάς επιτρέπουν να αποθηκεύετε μόνιμα αποτελέσματα ροών εργασιών χωρίς να διογκώνετε το payload της κύριας κατάστασης της ροής εργασιών.
Είναι κατάλληλα για πρόχειρα έγγραφα, εξαγόμενα σχέδια JSON, παραπομπές, αρχεία καταγραφής πηγών, διαδρομές αρχείων που δημιουργήθηκαν ή στιγμιότυπα προτροπών και απαντήσεων που θέλετε να εξετάσετε αργότερα. Είναι ιδιαίτερα χρήσιμα για ροές εργασιών agent, όπου η τελική κατάσταση πρέπει να παραμένει μικρή και ευανάγνωστη, παρόλο που κάθε εκτέλεση μπορεί να παράγει μεγάλα ενδιάμεσα αποτελέσματα.
Γιατί τεχνουργήματα αντί για κατάσταση ροής εργασιών
Η κατάσταση ροής εργασιών είναι ιδανική για τα μικρά δημόσια δεδομένα που χρειάζεται αμέσως το επόμενο βήμα.
Τα τεχνουργήματα είναι καλύτερα όταν το αποτέλεσμα είναι μεγαλύτερο από τις συνηθισμένες τιμές κατάστασης, προορίζεται κυρίως για μεταγενέστερη εξέταση, είναι χρήσιμο σε περιβάλλοντα ελέγχου ή εξαγωγής ή μοντελοποιείται καλύτερα ως επώνυμο αποτέλεσμα παρά ως ένα μεγάλο blob κατάστασης.
Αποθήκευση τεχνουργήματος για το τρέχον βήμα ροής εργασιών
Όταν ο κώδικας εκτελείται ήδη μέσα σε ένα βήμα ροής εργασιών, χρησιμοποιήστε το 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 επισυνάπτει αυτόματα το τρέχον ID ροής εργασιών και τον δείκτη βήματος.
Αποθήκευση τεχνουργήματος έξω από τη ροή εργασιών
Αν γνωρίζετε ήδη το ID ροής εργασιών, χρησιμοποιήστε το Queuety::put_artifact():
Queuety::put_artifact(
$workflow_id,
'research_brief',
"# Research Brief\n\nDone.",
'markdown',
metadata: [ 'reviewed_by' => 'editor@example.com' ],
);
Ανάγνωση τεχνουργημάτων
$artifact = Queuety::workflow_artifact( $workflow_id, 'draft' );
$artifacts = Queuety::workflow_artifacts( $workflow_id );
Κάθε εγγραφή τεχνουργήματος περιλαμβάνει τα πεδία key, kind, content, metadata, step_index, created_at και updated_at. Το Queuety::workflow_artifacts() παραλείπει το content, εκτός αν περάσετε το true ως δεύτερο όρισμά του.
Ενσωμάτωση με την κατάσταση ροής εργασιών
Το Queuety::workflow_status() περιλαμβάνει πλέον μια σύντομη σύνοψη τεχνουργημάτων:
$status = Queuety::workflow_status( $workflow_id );
echo $status->artifact_count; // 2
print_r( $status->artifact_keys ); // ['draft', 'citations']
Έτσι τα τεχνουργήματα παραμένουν ορατά χωρίς να περιλαμβάνεται όλο το περιεχόμενό τους στην έξοδο κατάστασης.
CLI
Παραθέστε τα τεχνουργήματα μιας ροής εργασιών:
wp queuety workflow artifacts 42
Εμφανίστε ένα τεχνούργημα μαζί με το περιεχόμενό του:
wp queuety workflow artifact 42 draft
Δείτε το CLI για την πλήρη αναφορά εντολών.
Εξαγωγή και επανάληψη εκτέλεσης
Τα τεχνουργήματα περιλαμβάνονται στις εξαγωγές ροών εργασιών και αντιγράφονται στις ροές εργασιών που αναπαράγονται.
Έτσι οι εκτελέσεις agent που βασίζονται σε τεχνουργήματα παραμένουν επιθεωρήσιμες ακόμη και όταν τις μεταφέρετε μεταξύ περιβαλλόντων ή αναδημιουργείτε μια εκτέλεση από το εξαγμένο ιστορικό εκτέλεσής της.