Elenchi di task di Amazon SWF - Amazon Simple Workflow Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Elenchi di task di Amazon SWF

Gli elenchi di task consentono di organizzare i vari task associati a un flusso di lavoro. Puoi considerare questi elenchi come code dinamiche. Quando un task è pianificato in Amazon SWF, puoi specificare una coda (elenco di task) in cui inserirlo. Analogamente, quando esegui il polling di Amazon SWF per un task indichi la coda (elenco di task) in cui si trova.

Gli elenchi di task offrono un meccanismo flessibile per instradare task ai lavoratori in funzione del caso d'uso. Questi elenchi sono dinamici in quanto non è necessario registrarli o crearli esplicitamente mediante un'operazione: la pianificazione di un task è sufficiente per creare l'elenco di task se questo non esiste.

Esistono elenchi distinti per i task di attività e i task di decisione. Un task è sempre pianificato in un solo elenco di task e non è condiviso con altri elenchi. Inoltre, come per le attività e i flussi di lavoro, gli elenchi di task rientra nell'ambito di un determinatoAWSregione e dominio Amazon SWF.

Elenchi di task di decisione

Ogni esecuzione di flusso di lavoro è associata a uno specifico elenco di task di decisione. Quando un tipo di flusso di lavoro è registrato (operazione RegisterWorkflowType), puoi specificare un elenco di task di default per le esecuzioni di quel tipo di flusso di lavoro. Quando lo starter di flusso di lavoro avvia l'esecuzione di flusso di lavoro (operazione StartWorkflowExecution), ha la possibilità di specificare un elenco di task differente per quell'esecuzione di flusso di lavoro.

Quando un decisore esegue il polling di un nuovo task di decisione (operazione PollForDecisionTask), specifica un elenco di task di decisione in cui cercarlo. Un singolo decisore può servire più esecuzioni di flusso di lavoro chiamando PollForDecisionTask più volte, utilizzando un elenco di task differente in ogni chiamata, dove ogni elenco di task è specifico a una determinata esecuzione di flusso di lavoro. In alternativa, il decisore può eseguire il polling in un unico elenco di task di decisione che fornisce task di decisione per molteplici esecuzioni di flusso di lavoro. È anche possibile avere più decisori che servono un'unica esecuzione di flusso di lavoro e che eseguono il polling nell'elenco di task per quell'esecuzione.

Elenco di task di attività

Un singolo elenco di task di attività può contenere task di differenti tipi di attività. Le attività sono pianificate nell'elenco delle attività in ordine. Amazon SWF restituisce le attività dall'elenco in ordine su una base migliore. In alcuni casi, questo ordine non è rispettato.

Quando un'attività è registrata (operazione RegisterActivityType), puoi specificare un elenco di task di default per quel tipo di attività. Per impostazione predefinita, i task di attività di quel tipo saranno pianificati nell'elenco di task specificato. Tuttavia, quando il decisore pianifica un task di attività (decisione ScheduleActivityTask), può eventualmente specificare un elenco di task differente per la pianificazione del task. Se il decisore non specifica un elenco di task, viene utilizzato l'elenco di task di default. Di conseguenza, puoi inserire task di attività in specifici elenchi di task in base agli attributi del task. Ad esempio, potresti inserire tutte le istanze di un task di attività per un determinato tipo di carta di credito in un particolare elenco di task.

Instradamento di task

Quando un lavoratore di attività esegue il polling di un nuovo task (operazione PollForActivityTask), può specificare un elenco di task di attività in cui cercarlo. In tal caso, il lavoratore di attività accetterà task soltanto da quell'elenco. In questo modo, hai la certezza che determinati task sono assegnati solo a specifici lavoratori di attività. Ad esempio, potresti creare un elenco di task contenente task che richiedono l'utilizzo di un computer ad alte prestazioni. Solo i lavoratori di attività in esecuzione sull'hardware appropriato eseguirebbero il polling in quell'elenco di task. Un altro esempio sarebbe di creare un elenco di task per una determinata regione geografica e quindi assicurarti che solo i lavoratori distribuiti in quella regione ricevano quei task. Oppure potresti creare un elenco di task per ordini prioritari e verificare quell'elenco sempre per primo.

Questo modo di assegnare particolari task a specifici lavoratori di attività è denominato instradamento di task. L'instradamento di task è facoltativo; se non specifichi un elenco di task durante la pianificazione di un task di attività, il task viene automaticamente inserito nell'elenco di task di default.