Hello all,
I need some help. I want to send a signal to a running workflow but unfortunately the signal is not sent because of this error Workflow executionsRow not found
I am executing the workflow and sending the signal in different files.
main.go
we, err := c.ExecuteWorkflow(context.Background(), workflowOptions, workflows.VerificationWorkflow, "Verification workflow")
if err != nil {
log.Fatalln("Unable to execute workflow", err)
}
log.Println("Started workflow", "WorkflowID", we.GetID(), "RunID", we.GetRunID())
sendSignal.go
func SendSignal(con *gin.Context) (string, error) {
c, ok := con.MustGet("temporalClient").(client.Client)
if !ok {
println("Unable to get client")
}
resp, e := c.ListWorkflow(context.Background(), &workflowservice.ListWorkflowExecutionsRequest{})
if e != nil {
println("====> ", e, "\n")
}
wId, _ := json.Marshal(resp.Executions[0].Execution.WorkflowId)
runId, _ := json.Marshal(resp.Executions[0].Execution.RunId)
err := c.SignalWorkflow(context.Background(), string(wId), string(runId), "Connection_Signal", "ANOTHER_TEST_VALUE")
if err != nil {
log.Print("Error signaling client", err)
}
return "ok", nil
}
And the error is Workflow executionsRow not found. WorkflowId: "verification_workflow_ID", RunId: "7a4c2b4e-a2de-4c10-8af6-a4a9cd151e39"
Can you guys help me understand why the error happens? and how to solve that? I just began to use temporal and am feeling a bit lost.
Many thanks already for your help.