Primeiros passos com Temporal
##Core APIs
####Workflows
Workflows são funções assíncronas que tem acesso especial a API de Workflows e também podem orquestrar Activities.
Cada Workflow é composto de duas partes principais:
- O nome da função que representa o Workflow é chamado de Workflow Type.
- O corpo da função que representa o Workflow é chamada de Workflow Definition.
O mais importante aqui são as limitações. Como Workflows são os orquestradores, eles desempenham uma tarefa chave no Temporal. Por causa disso, o SDK do Temporal não pode permitir que coisas não determinísticas aconteçam durante a execução de Workflows.
Ou seja, você não tem acesso a variáveis globais do Node, como process
. Também não tem acesso a módulos nativos, como fs
, crypto
, etc. Em Workflows você também não pode lidar com acesso em rede, então sem net
, http
e relacionados.
Workflows devem somente usar as suas próprias APIs. Eles servem única e exclusivamente para orquestração.
####Activities
Activities são a forma (na verdade, a única forma) de interação com o mundo externo. Precisa ler alguma coisa no banco de dados? Leia em uma Activity. Precisa enviar um e-mail? Envie em uma Activity.
Activities podem ser executadas repetidas vezes, de forma automática, caso explodam durante a execução. Digamos que você precisa fazer uma chamada em um sistema externo e o sistema está indisponível no momento. Nesse caso, emita uma exceção na Activity que ela será tentada novamente no futuro.