Questo caso d’uso descrive la creazione di un flusso di lavoro che consente di monitorare lo stato di un set di flussi di lavoro che vengono "messi in pausa", "interrotti" o "con errori".
Il suo scopo è:
Per monitorare lo stato di un set di flussi di lavoro, è necessario seguire questi passaggi:
Oltre al flusso di lavoro, Campaign Workflow Heatmap consente di analizzare in dettaglio i flussi di lavoro attualmente in esecuzione. Per ulteriori informazioni, consulta la sezione sezione dedicata.
Per ulteriori informazioni su come monitorare l’esecuzione dei flussi di lavoro, fare riferimento a questa sezione.
La cartella del flusso di lavoro che verrà monitorata è la "CustomWorkflows" cartella memorizzata in Amministrazione > Produzione > Flussi di lavoro tecnici nodo. Questa cartella contiene un set di flussi di lavoro aziendali.
La Monitoraggio del flusso di lavoro viene memorizzato nella directory principale della cartella Flussi di lavoro tecnici. L’etichetta utilizzata è "Monitoraggio".
Lo schema seguente mostra la sequenza di attività:
Questo flusso di lavoro è costituito da:
La prima parte del codice JavaScript coincide con un query (queryDef) che consente di identificare i flussi di lavoro con uno stato di "pausa" (@state == 13), "error" (@failed == 1) o "stop" (@state == 20).
La nome interno della cartella del flusso di lavoro da monitorare è indicata nella seguente condizione:
<condition boolOperator="AND" expr="[folder/@name] = 'Folder20'" internalId="1"/>
var strError = "";
var strPaused = "";
var strStop = "";
var queryWkfError = xtk.queryDef.create(
<queryDef schema="xtk:workflow" operation="select">
<select>
<node expr="@internalName"/>
<node expr="@state"/>
<node expr="@label"/>
<node expr="@failed"/>
<node expr="@state"/>
</select>
<where id="12837805386">
<condition boolOperator="AND" expr="[folder/@name] = 'Folder20'" internalId="1"/>
<condition boolOperator="AND" internalId="2">
<condition boolOperator="OR" expr="@state = 20" internalId="3"/>
<condition expr="@state = 13" internalId="4"/>
</condition>
</where>
</queryDef>
);
var ndWkfError = queryWkfError.ExecuteQuery();
La seconda parte del codice JavaScript consente di: visualizzare un messaggio per ogni flusso di lavoro in base allo stato recuperato durante la query.
Le stringhe create devono essere caricate nelle variabili evento del flusso di lavoro.
for each ( var wkf in ndWkfError.workflow )
{
if ( wkf.@state == 13 ) // Status 13 = paused
{
if ( wkf.@failed == 1 )
strError += "<li>Workflow '" + wkf.@internalName + "' with the label '" + wkf.@label + "'</li>";
else
strPaused += "<li>Workflow '" + wkf.@internalName + "' with the label '" + wkf.@label + "'</li>";
}
if ( wkf.@state == 20 ) // Status 20 = stop
strStop += "<li>Workflow '" + wkf.@internalName + "' with the label '" + wkf.@label + "'</li>";
}
vars.strWorkflowError = strError;
vars.strWorkflowPaused = strPaused;
vars.strWorkflowStop = strStop;
L’attività "Test" ti consente di determinare se una consegna deve essere inviata o se il flusso di lavoro di monitoraggio deve eseguire un altro ciclo in base all’attività "Wait" (Attendi) .
Viene inviata una consegna al supervisore se almeno una delle tre variabili di evento "vars.strWorkflowError", "vars.strWorkflowPaused" o "vars.strWorkflowStop" non è nulla.
L’attività "Wait" può essere configurata per riavviare il flusso di lavoro di monitoraggio a intervalli regolari. Per questo caso d'uso, il tempo di attesa è impostato su un'ora.
L’attività "Delivery" è basata su un modello di consegna memorizzati in Risorse > Modelli > Modelli di consegna nodo.
Questo modello deve includere:
l'indirizzo e-mail del supervisore.
Contenuto HTML per l’inserimento di testo personalizzato.
Le tre variabili dichiarate (WF_Stop, WF_Paused, WF_Error) corrispondono alle tre variabili dell’evento del flusso di lavoro.
Queste variabili devono essere dichiarate nella variabile Variabili scheda delle proprietà del modello di consegna.
Per recuperare il contenuto delle variabili dell’evento del flusso di lavoro, è necessario dichiarare le variabili specifiche della consegna che verranno inizializzate con i valori restituiti dal codice JavaScript.
Il modello di consegna ha il seguente contenuto:
Una volta creato e approvato il modello, devi configurare il Consegna attività per:
Fai doppio clic sul pulsante Consegna e seleziona le seguenti opzioni:
Consegna: select Nuovo, creato da un modello, quindi seleziona il modello di consegna creato in precedenza.
Per Destinatari e contenuti campi, seleziona Specificato nella consegna.
Azione da eseguire: select Preparare e iniziare.
Deseleziona Errori di processo opzione .
Vai a Script della scheda Consegna aggiungi tre attività stringa di caratteri digita le variabili tramite il menu del campo di personalizzazione.
Le tre variabili dichiarate sono:
delivery.variables._var[0].stringValue = vars.strWorkflowError;
delivery.variables._var[1].stringValue = vars.strWorkflowPaused;
delivery.variables._var[2].stringValue = vars.strWorkflowStop;
Una volta avviato il flusso di lavoro di monitoraggio, invia il seguente riepilogo al destinatario: