Skip to main content

Parallel Run Workflow v.2

Parallel Run Workflow v.2 | Sybot Documentation

Parallel Run Workflow v.2

  • Task type: parallelrunworkflow_v2

Descrizione

Il task "Parallel Run Workflow v.2" permette l'esecuzione orchestrata di workflow multipli (fino a 20 istanze) con la possibilità di scegliere tra un'esecuzione parallela o sequenziale, gestendo simultaneamente configurazioni, parametri di input e una gestione avanzata degli errori per ogni singolo processo.

parallel_wf_v2_config.png

Parametri di Configurazione

  • Modalità Esecuzione:
  • Parallela: Lancia tutti i workflow abilitati nello stesso istante.
  • Sequenziale: Esegue i workflow uno alla volta, rispettando l'ordine degli indici (1, 2, 3...).
  • In caso di esiti inattesi:
  • Considera il task fallito: Se selezionato, il task principale assumerà lo stato Failed se un'istanza non restituisce l'esito atteso.
  • Arresta l'esecuzione subito: Se selezionato, il task bloccherà immediatamente le altre istanze in corso in caso di errore in una di esse.

Configurazione Istanze

Il task permette di configurare fino a 20 istanze indipendenti.

  1. Selettore Istanza: Incrementare il campo numerico per passare da un'istanza all'altra (es. da 1 a 2).
  2. Abilita Istanza: Toggle per attivare o saltare l'esecuzione dello slot corrente.
  3. Workflow Target: menu (dropdown) dove poter selezionare un workflow da lanciare.
  4. Esito Atteso: Lo stato che il workflow figlio deve restituire per essere considerato valido (Success, Warning, Failed o Qualunque).
  5. Override Parametri: Griglia per mappare i parametri in ingresso al workflow figlio.

Note

È possibile navigare avanti e indietro tra le istanze (es. tornare all'istanza 2 dopo aver configurato la 5) per correggere o modificare i parametri; il sistema mantiene lo stato di ogni configurazione.

Parametri di Output

  • result: Stato complessivo dell'esecuzione.
  • resultJSON: Dettaglio JSON dei risultati.
  • resultJSONtarget: Stringa JSON contenente l'intero report di esecuzione dei workflow figli (inclusi i risultati di ogni singolo task interno).Questo parametro di output è utile per ottenere informazioni sulle esecuzioni dei workflow figli: i dati possono essere estratti direttamente utilizzando task con query JSONPath.
  • executionLog: Log delle operazioni effettuate dalle varie istanze.
  • exitStatus: Codice numerico di uscita del task. (0 indica successo).

Esempio Struttura resultJSON

{
"id": 19062,
"name": "Parallel Run Workflow v.2",
"description": "",
"type": "parallelrunworkflow_v2",
"type_name": "Parallel Run Workflow v.2",
"type_description": "Esegue più workflow in parallelo",
"config": {
"_v": 2,
"configs": [
{
"enabled": true,
"overrides": {"data": "#>Date.datetime<#"},
"expected_result": "any",
"target_workflow_id": 1997
},
{
"enabled": true,
"overrides": {"test_child": "ciao"},
"expected_result": "any",
"target_workflow_id": 2013
},
{
"enabled": true,
"overrides": [],
"expected_result": "any",
"target_workflow_id": null
},
...
],
"exec_mode": "parallel",
"output_links": [
{
"to": "[TASK 1906_19215_40]",
"from": "[TASK 1906_19062_72]",
"text": "Condizione 23",
"color": "green",
"points": [...],
"toPort": "left4",
"fromPort": "port_1906_19062_1",
"isTraversed": true
}
],
"current_index": 0,
"result_target_workflow": [
{
"id": 1997,
"name": "dev_print",
"run_info": {...},
"description": ""
},
{
"id": 2013,
"name": "wf_child",
"run_info": {
"tasks": [
{
"id": 19038,
"name": "Unix Shell",
"type": "ssh",
"type_name": "Unix Shell",
"type_description": "Connessione SSH",
"config": {
"operation": "command",
"connection": {"ip": "", "port": "", "user": "", "hostname": "", ...},
"output_links": [...]
},
"run_info": {
"run_id": 1483519,
"status": "Completed",
"run_result": "Success",
"cmd_text": "echo 'test_child'",
"result_text": "test_child",
"start_datetime": "2026-04-01 11:18:01",
"end_datetime": "2026-04-01 11:18:01",
...
},
"output_parameters": {"exitStatus": "0"}
}
],
"run_result": "Warning",
"parameters": [{"name": "test_child", "value": "ciao", "type": "string"}],
...
},
"description": ""
}
],
"fail_on_unexpected_child_status": true,
"terminate_on_unexpected_child_status": false
},
"run_info": {...},
"output_parameters": {"exitStatus": "0", "resultJSONtarget": "[...]"}
}