From 7797f8a3640a62a2c385e1a76a8970c98a0b3fba Mon Sep 17 00:00:00 2001 From: optclblast Date: Fri, 21 Jun 2024 00:23:48 +0300 Subject: [PATCH] dispatching init --- .../infrastructure/workers/workers.go | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/backend/internal/infrastructure/workers/workers.go b/backend/internal/infrastructure/workers/workers.go index ceaa755..e4753f6 100644 --- a/backend/internal/infrastructure/workers/workers.go +++ b/backend/internal/infrastructure/workers/workers.go @@ -3,6 +3,7 @@ package workers import ( "context" "encoding/json" + "fmt" "log/slog" "github.com/emochka2007/block-accounting/internal/infrastructure/queue" @@ -71,9 +72,33 @@ func (w *Worker) handleJobs(ch <-chan amqp.Delivery) { // TODO check job.IdempotentKey for duplicate // TODO dispatch job + switch job.Payload.(type) { + case *queue.JobDeployMultisig: + jdm, ok := job.Payload.(*queue.JobDeployMultisig) + if !ok { + w.log.Error( + "error invalid job type", + slog.String("job_id", job.ID), + slog.String("job_key", job.IdempotencyKey), + ) + continue + } + + if err := w.handleDeployMultisig(job.Context, jdm); err != nil { + w.log.Error( + "error handle deploy multisig job", + slog.String("job_id", job.ID), + slog.String("job_key", job.IdempotencyKey), + logger.Err(err), + ) + } + } } } func (w *Worker) handleDeployMultisig( ctx context.Context, -) + dm *queue.JobDeployMultisig, +) error { + return fmt.Errorf("error unimplemented") +}