Atividades

Tarefa de Recebimento(Receive Task)

Uma tarefa que aguarda a chegada de uma mensagem de um participante externo. O token pausa na tarefa até a mensagem ser recebida. Marcador de envelope vazado (claro).

A Tarefa de Recebimento (Receive Task) é a forma de *atividade* da espera por mensagem — a contraparte natural da Tarefa de Envio: um participante envia, o outro recebe.

Dois traços a distinguem do evento de captura equivalente:

  • Como atividade, aceita eventos de borda (anexe um timer para dar timeout à espera) e marcadores de loop/multi-instância (receber uma mensagem por item).
  • A especificação lhe dá o atributo instantiate: uma Tarefa de Recebimento com instantiate = true pode iniciar uma nova instância ao receber a mensagem — o equivalente em atividade do Início de Mensagem.

Quando usar e evitar

Quando usar

  • Quando esperar uma resposta externa é um passo de trabalho que a equipe acompanha (ex.: Receber cotação do fornecedor, Receber contrato assinado).

  • Quando a espera precisa de timeout: anexe um Evento de Borda de Timer para escalar ou seguir caminho alternativo se nada chegar.

  • Quando a recepção deve aparecer nas métricas por atividade (quanto tempo esperamos fornecedores?).

Quando NÃO usar

  • Para uma pausa leve sem semântica de atividade — o Intermediário de Captura de Mensagem é mais enxuto.

  • Quando a mensagem deve iniciar o processo sem motivo para preferir uma atividade — o Início de Mensagem é a escolha convencional.

  • Para sincronização *dentro* do mesmo Pool — mensagens só existem entre participantes.

Exemplo de negócio

Aguardando a cotação do fornecedor

Diagrama BPMN: Aguardando a cotação do fornecedor
Aguardando a cotação do fornecedor

Abra este exemplo no editor de processos da HEFLO e explore o diagrama por dentro.

Abrir no editor HEFLO →

Passo a passo

  1. Compras precisa de cotação e Enviar RFQ despacha a solicitação ao fornecedor.
  2. A Tarefa de Recebimento “Receber cotação do fornecedor” (destacada) segura o token: o processo espera aqui até a mensagem do fornecedor chegar.
  3. Recebida a cotação, o processo conclui com ela em mãos.

Em produção, um Evento de Borda de Timer na tarefa trataria fornecedores que nunca respondem.

Diferenças

Diferença entre Tarefa de Recebimento e Intermediário de Captura de Mensagem

Ambos pausam o fluxo até a mensagem chegar. A Tarefa de Recebimento é atividade — aceita bordas (timeouts!), marcadores e aparece em métricas de trabalho. O evento de captura é atômico e mais leve. Se a espera precisa de timeout, tarefa + borda de timer é o padrão idiomático.

Tarefa de Recebimento com instantiate vs. Início de Mensagem

Uma Tarefa de Recebimento com instantiate = true cria nova instância quando sua mensagem chega — funcionalmente parecida com o Início de Mensagem. O evento de início é a escolha convencional e mais legível; a tarefa instanciadora é rara, usada quando o primeiro passo precisa ser uma atividade.

FAQ

E se a mensagem nunca chegar?

Anexe um Evento de Borda de Timer. Vencido o prazo, o fluxo toma o caminho alternativo (escalar, cancelar, cobrar) — com borda interrompente, a espera é abandonada.

Como o motor sabe qual mensagem pertence a qual instância?

Por correlação: uma chave de negócio na mensagem (número do pedido, id do chamado) é casada com as instâncias em espera. Todo motor oferece um mecanismo de correlação.

Elementos relacionados