Background
Quando un foglio di controllo ha molte righe o il tempo di processo è eccessivo, l'utilizzo di catene parallele può ridurre significativamente il tempo di esecuzione.
Scenario di esempio
Immagina di avere un gruppo di comandi nella tua catena che utilizza un Group Iterator. In questa configurazione, il contenuto del foglio di controllo viene recuperato da un foglio di lavoro di Workiva utilizzando il comando Get Sheet Data. La catena ripete poi una serie di azioni per ogni riga del foglio. (Vedi le istruzioni di configurazione qui.)
Se l'ordine di esecuzione delle righe del foglio di controllo non è importante e ogni riga può essere elaborata in modo indipendente, puoi migliorare l'efficienza della catena eseguendole in parallelo con i seguenti passaggi.
Nota: I passi seguenti si basano sulla catena di esempio mostrata sopra. Adatta la tua catena e gli eventuali comandi aggiuntivi.
Passo 1: Preparare la catena primaria
- Elimina tutti i collegamenti tra tutti i nodi.
- Elimina i nodi CSV to JSON e Command Group.
- Aggiungi un comando Advanced Query dal connettore Tabular Transformations e collegalo al nodo Get Sheet Data.
- Configura il nodo con i seguenti valori:
- Tabelle > File: seleziona l'output Ottieni Dati Foglio > Dati dal Pannello delle Variabili.
- Tabelle > Nome della tabella: utilizza un nome senza spazi.
- Query: usa la funzione MySQL
NTILEper assegnare un numero di gruppo a ogni riga (ad esempio,NTILE(3)per tre gruppi).
Nota: Dovrai testare il tuo processo per trovare il numero di gruppi più adatto al tempo di esecuzione desiderato. Come prassi ottimale, il numero dovrebbe essere inferiore a 10.
Passo 2: Impostare la sottocatena per l'esecuzione in parallelo
- Nella sottocatena eseguita dall'evento Run Chain, aggiungi o modifica il comando Runtime Inputs. Ricorda che questo deve essere il primo nodo della catena. Configura due ingressi: un ingresso FileField per il file di dati e un ingresso NumberField per il numero del gruppo.
- Per assicurarti che ogni istanza elabori solo le righe che le sono state assegnate, collega un comando Filter Rows subito dopo il comando Runtime Inputs e prima di altri comandi. Il filtro isolerà i record per numero di gruppo, assicurando che tutti i comandi successivi operino solo sulle righe corrette.
Nota: Il campo Colonne di ricerca è basato su 0.
- In Chain Settings, assicurati che l'opzione Allow concurrent runs sia attivata.
Passo 3: Passaggio del file e del numero del gruppo
- Nella Catena Primaria, aggiungi un comando Run Chain per ogni numero di gruppo utilizzato nella funzione
NTILE(ad esempio, 3 comandi perNTILE(3)).- File dati Runtime Input: seleziona Query avanzata > Risultato dal Pannello delle variabili.
- Numero di gruppo Ingresso Runtime: Un numero unico da 1 al numero totale di gruppi.
Risultato
La tua catena ora sta elaborando il triplo delle righe del tuo foglio di controllo in una volta sola. Puoi scalare ulteriormente aumentando il numero di NTILE e aggiungendo i corrispondenti comandi Run Chain.
Avvertenza
- Evita di eseguire troppe catene parallele in una volta sola, perché così facendo potresti superare i limiti della piattaforma e causare il fallimento dei comandi. Come prassi ottimale, il numero di catene parallele dovrebbe essere inferiore a 10.
- Tutte le soluzioni a catena devono essere testate accuratamente con casi limite e con tutti i tipi di dati rilevanti prima di essere utilizzate in ambienti live o di produzione.
- Le catene con più di sei livelli annidati di utilizzo di Run Chain potrebbero non essere esportate o importate correttamente.
Altre risorse
Per maggiori informazioni sui fogli di controllo a catena, consulta le nostre altre risorse.
- Per ulteriori informazioni di base, leggi il nostro Usare i fogli di controllo.
- Per un caso d'uso molto diffuso dei fogli di controllo, consulta il nostro modello Control Sheet Scheduler Chain.