Liigu sisu juurde

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

PHP
$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:

  • id
  • workflow_id
  • job_id
  • parent_event_id
  • step_index
  • step_name
  • step_type
  • handler
  • event
  • queue
  • attempt
  • input
  • output
  • state_before
  • state_after
  • context
  • artifacts
  • chunks
  • error
  • duration_ms
  • created_at

Normaliseeritud jäljepakett

Kasuta töövoo siluri UI koostamisel workflow_trace():

PHP
$trace = Queuety::workflow_trace( $workflow_id );

Jäljepakett sisaldab järgmist:

  • workflow
  • steps
  • events
  • jobs
  • logs
  • artifacts
  • chunks
  • signals
  • wait_dependencies

steps rühmitab sündmused sammuindeksi järgi ja lisab iga sammu kohta uusima olulise sündmuse.

Sammu oleku otsing

PHP
$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:

PHP
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:

PHP
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:

Shell
wp queuety workflow timeline 42

Vaata sammu järgset olekut:

Shell
wp queuety workflow state-at 42 0

Säilitamine

Sündmuste logid kogunevad aja jooksul. Kasuta prune() vanade jäljesündmuste kustutamiseks:

PHP
$deleted = Queuety::workflow_events()->prune( 30 );