Töövoogude sündmuste logi
Töövoo sündmuste logi salvestab jälje iga püsiva töövoopiiri kohta. Iga jäljesündmus võib sisaldada sammu sisendit ja väljundit, avalikku olekut enne ja pärast sammu, käituskonteksti, artefaktiviiteid, voogedastatud tükke, ajastust ja tõrke üksikasju.
Mida salvestatakse
| Sündmus | Millal | Salvestatud andmed |
|---|---|---|
step_started |
Enne sammu käsitleja käivitamist | Töö ID, järjekord, katse, sammu nimi, sammu tüüp, sisend ja olek enne käivitamist |
step_completed |
Pärast sammu käsitleja edukat käivitamist | Sisend, väljund, olek enne ja pärast, kontekst, artefaktid, tükid ja kestus |
step_failed |
Kui sammu käsitleja tekitab erindi | Sisend, olek enne ja pärast (kui saadaval), kontekst, vea klass, veateade, jälg ja kestus |
step_branch_completed |
Kui paralleelharu käivitub edukalt | Haru sisend ja väljund, olek enne ja pärast, kontekst ja kestus |
step_item_completed |
Kui iga üksik element käivitub edukalt | Elemendi sisend ja väljund, olek enne ja pärast, elemendi metaandmed, kontekst ja kestus |
workflow_waiting |
Kui ootamissamm peatab käivituse | Ootamise tüüp, ootamise sihtmärgid ja režiim, tulemuse võti, sobitamise metaandmed ning ootel olek |
workflow_resumed |
Kui ootamissamm on täidetud | Jätkamise andmestik, olek enne jätkamist ja olek pärast jätkamist |
workflow_replayed |
Ekspordi uuesti loomisel | Lähte töövoo metaandmed ja taasesituse olek |
Ajajoone päringud
$events = Queuety::workflow_timeline( $workflow_id );
foreach ( $events as $event ) {
echo $event['step_index'] . ' ' . $event['event'] . ' ' . $event['handler'] . "\n";
if ( 'step_completed' === $event['event'] ) {
$input = $event['input'];
$output = $event['output'];
$state_before = $event['state_before'];
$state_after = $event['state_after'];
}
if ( 'step_failed' === $event['event'] ) {
echo 'Error: ' . $event['error']['message'] . "\n";
}
}
Iga sündmuse rida sisaldab järgmist:
idworkflow_idjob_idparent_event_idstep_indexstep_namestep_typehandlereventqueueattemptinputoutputstate_beforestate_aftercontextartifactschunkserrorduration_mscreated_at
Normaliseeritud jäljepakett
Kasuta töövoo siluri UI koostamisel workflow_trace():
$trace = Queuety::workflow_trace( $workflow_id );
Jäljepakett sisaldab järgmist:
workflowstepseventsjobslogsartifactschunkssignalswait_dependencies
steps rühmitab sündmused sammuindeksi järgi ja lisab iga sammu kohta uusima olulise sündmuse.
Sammu oleku otsing
$state = Queuety::workflow_state_at( $workflow_id, $step_index );
See tagastab selle sammu viimase lõpetatud või jätkatud sündmuse avaliku state_after-i või väärtuse null, kui olekut ei salvestatud.
Käitusaja jälje metaandmed
Käsitlejad saavad töö käigus lisada rakenduse taseme jälje üksikasju:
Queuety::trace_input( [ 'resolved' => $resolved_input ] );
Queuety::trace_context( [ 'ability' => 'content/load-post' ] );
Queuety::trace_output( [ 'post' => $post ] );
Sammukäsitlejad saavad tagastada ka reserveeritud jälje metaandmeid:
return [
'result' => 'done',
'_queuety_trace' => [
'input' => [ 'resolved' => $resolved_input ],
'context' => [ 'node_id' => 'loadPost' ],
'artifacts' => [
[ 'key' => 'brief', 'kind' => 'markdown' ],
],
],
];
Võti _queuety_trace salvestatakse sündmuste logisse ega liideta töövoo olekusse.
CLI
Vaata ajajoont tabelina:
wp queuety workflow timeline 42
Vaata sammu järgset olekut:
wp queuety workflow state-at 42 0
Säilitamine
Sündmuste logid kogunevad aja jooksul. Kasuta prune() vanade jäljesündmuste kustutamiseks:
$deleted = Queuety::workflow_events()->prune( 30 );