feat(asynq): implement Asynq initialization and client retrieval functions

This commit is contained in:
keven1024
2026-05-12 12:10:46 +08:00
parent 8758325da3
commit a601964459
4 changed files with 53 additions and 22 deletions

View File

@@ -1,21 +0,0 @@
package utils
import "github.com/hibiken/asynq"
func GetQueueClient() *asynq.Client {
opt := RedisURI2AsynqOpt(GetEnv("redis.url"))
return asynq.NewClient(opt)
}
func GetQueueInspector() *asynq.Inspector {
opt := RedisURI2AsynqOpt(GetEnv("redis.url"))
return asynq.NewInspector(opt)
}
func RedisURI2AsynqOpt(uri string) asynq.RedisConnOpt {
opt, err := asynq.ParseRedisURI(GetEnv("redis.url"))
if err != nil {
panic(err)
}
return opt
}

36
pkg/utils/asynq.go Normal file
View File

@@ -0,0 +1,36 @@
package utils
import (
"github.com/hibiken/asynq"
)
var (
queueClient *asynq.Client
queueInspector *asynq.Inspector
)
func InitAsynq() error {
opt, err := asynq.ParseRedisURI(GetEnv("redis.url"))
if err != nil {
return err
}
queueClient = asynq.NewClient(opt)
queueInspector = asynq.NewInspector(opt)
return nil
}
func GetQueueClient() *asynq.Client {
return queueClient
}
func GetQueueInspector() *asynq.Inspector {
return queueInspector
}
func RedisURI2AsynqOpt(uri string) asynq.RedisConnOpt {
opt, err := asynq.ParseRedisURI(uri)
if err != nil {
panic(err)
}
return opt
}