Criar um fluxo de trabalho baseado nas Durable Functions

Concluído

Use as Durable Functions para orquestrar um fluxo de trabalho de execução prolongada como um conjunto de atividades. Mapeie cada etapa do processo para um tipo de função e cada tarefa para uma atividade. Ter um processo automatizado significa que você não precisará se preocupar com o monitoramento ou o escalonamento manual de uma tarefa se ela não for executada.

À medida que continuamos pensando sobre como automatizar nosso processo de aprovação de propostas, precisamos levar em conta os casos em que uma etapa do processo não é concluída a tempo e precisa ser escalonada. Por exemplo: e se precisarmos da aprovação de um gerente quanto ao tamanho de uma proposta, mas ele não responder dentro do prazo?

As etapas de escalonamento são úteis para os negócios, pois movem uma tarefa quando um prazo é atingido. Elas garantem que as tarefas sejam concluídas e não esquecidas. Uma etapa de escalonamento pode envolver o envio de lembretes ou, até mesmo, a reatribuição de uma tarefa para alguém em um nível superior da hierarquia gerencial.

Nesta unidade, você criará um fluxo de trabalho de processo de aprovação baseado nas Durable Functions. No próximo exercício, você aplicará esse conhecimento para criar um aplicativo com as Durable Functions do Azure.

Descrição do processo de aprovação de design

Nosso fluxo de trabalho começa quando um design de projeto é enviado para aprovação. A proposta é atribuída como uma tarefa de aprovação a um gerente. O gerente aprovará ou rejeitará a proposta. No mundo real, esse evento provavelmente irá gerar e enviar uma notificação para o autor da proposta e informar o resultado da solicitação de aprovação/rejeição. Neste exemplo, você só alterará o status da tarefa para approved ou rejected.

As etapas do fluxo de trabalho são as seguintes:

  1. Um design de projeto é enviado.
  2. Uma tarefa de aprovação é alocada a um gerente, de modo que ele possa examinar a proposta de design de projeto.
  3. A proposta de design de projeto é rejeitada ou aprovada.
  4. Uma tarefa de escalonamento é alocada se a tarefa de aprovação não é concluída dentro de um limite de tempo predefinido.

A imagem a seguir é uma representação visual do fluxo de trabalho mostrando as três funções na orquestração: a aprovação da solicitação, a aprovação do processo e uma função de escalonamento.

Visual representation of workflow showing the three functions in our orchestration.

A tabela a seguir mostra como as etapas do fluxo de trabalho podem ser mapeadas para os tipos de função usados em um fluxo de trabalho das Durable Functions.

Função do fluxo de trabalho Tipo de função durável
Envio de uma proposta de design de projeto para aprovação Função Cliente
Atribuir uma tarefa de aprovação para um membro da equipe relevante Função Orquestração
Tipo de aprovação Função Atividade
Tarefa de escalonamento Função Atividade

A função Orquestração gerenciará uma regra no fluxo de trabalho que iniciará a atividade de escalonamento se a atividade de aprovação não for retornada em um tempo especificado.

Agora que compreendemos o que é necessário para nosso fluxo de trabalho, vamos escrever isso no código na próxima unidade.