Criar um sinal por código

Há algum exemplo de como posso gerenciar criação e recebimento de sinais via código, como por exemplo disparar um sinal no evento afterTaskComplete?

2 curtidas

Bom dia. Não entendi muito bem a questão do sinal.Poderia detalhar para eu entender e conseguir te ajudar?

Após o encerramento de uma tarefa eu preciso criar um sinal para disparar um outro processo, mas dependendo das circunstâncias posso precisar disparar sinais diferentes. Por isso estou estudando como criar um sinal no evento afterTaskComplete.

Me fala um exemplo, pra eu tentar montar algo de demonstração para você.

Por falta de conhecimento meu, que não pesquisei como um processo iniciado por Sinal consegue os dados do processo que disparou o Sinal (e assim teria um processo sem nenhuma informação referente a como proceder), eu faria atividade de Serviço que iniciaria as solicitações dos outros processos e já passando informações pro formulário dos processos destinos.

Eu tenho um site externo que captura solicitações de clientes. Essa solicitações são armazenadas em uma base de dados.
Há um robô c# que executa periodicamente e com base nessas informações abre um chamado via API.
Mas, há a possibilidade de que durante a análise da solicitação seja necessário pedir mais informações ao cliente. Então, registro isso no formulário e criou um sinal que vai parar o fluxo até que o robô c# sensibilize o sinal com as informações enviadas pelo cliente externo.
Confuso, mas hoje eu tenho esse processo funcionando em produção na ferramenta de BPM do Bonita Soft (versão community). Mas acabamos de fechar com o fluig e estou iniciando os meus estudos e avaliando a melhor forma de migrar as aplicações que temos desenvolvidas no Bonita.
Não consegui ver na documentação como criar ou sensibilizar um sinal via código. E além de sensibilizá-lo preciso passar informações.
Talvez um condicional funcione melhor na estrutura do fluig.

Por SOAP tem o serviço ECMSignalService e nele tem a operação fireSignal.

Porém, pelo que acabei de constatar nesse WS, a gente só dispara o sinal. Ele é “global”. Então se você tiver 10 solicitações aguardando esse sinal as 10 seguirão assim que você disparar. Ele não me parece útil pra passar informações e pra deixar uma solicitação aguardando algo.

O que eu faço aqui é ter uma Atividade que indica estar esperando algo. Então via API/WS eu a movimento para a etapa seguinte quando necessário.

1 curtida