diff options
| author | nsfisis <nsfisis@gmail.com> | 2024-08-05 05:35:45 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2024-08-05 05:35:45 +0900 |
| commit | b0ff29a3c88bd3014cc966c619683c8d7e33d703 (patch) | |
| tree | 529f1debc2972ac1486e8c0ca4b25827ccd069a6 /backend/taskqueue/worker_server.go | |
| parent | 9ff9c151e5defd9eed5cba3c88bc341b4360d09c (diff) | |
| parent | dc16e903999af89d87364ad6619e7c8b41301da4 (diff) | |
| download | phperkaigi-2025-albatross-b0ff29a3c88bd3014cc966c619683c8d7e33d703.tar.gz phperkaigi-2025-albatross-b0ff29a3c88bd3014cc966c619683c8d7e33d703.tar.zst phperkaigi-2025-albatross-b0ff29a3c88bd3014cc966c619683c8d7e33d703.zip | |
Merge branch 'feat/task-queue'
Diffstat (limited to 'backend/taskqueue/worker_server.go')
| -rw-r--r-- | backend/taskqueue/worker_server.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/backend/taskqueue/worker_server.go b/backend/taskqueue/worker_server.go new file mode 100644 index 0000000..485d6d3 --- /dev/null +++ b/backend/taskqueue/worker_server.go @@ -0,0 +1,33 @@ +package taskqueue + +import ( + "github.com/hibiken/asynq" + + "github.com/nsfisis/iosdc-japan-2024-albatross/backend/db" +) + +type WorkerServer struct { + server *asynq.Server + queries *db.Queries + c chan string +} + +func NewWorkerServer(redisAddr string, queries *db.Queries, c chan string) *WorkerServer { + return &WorkerServer{ + server: asynq.NewServer( + asynq.RedisClientOpt{ + Addr: redisAddr, + }, + asynq.Config{}, + ), + queries: queries, + c: c, + } +} + +func (s *WorkerServer) Run() error { + mux := asynq.NewServeMux() + mux.Handle(TaskTypeExec, NewExecProcessor(s.queries, s.c)) + + return s.server.Run(mux) +} |
