package providers import ( "github.com/hibiken/asynq" ) func getAsynQRedisOpt() asynq.RedisClientOpt { var config = MustGet[GlobalConfig]() return asynq.RedisClientOpt{ Addr: config.Redis.Addr, Password: config.Redis.Pass, DB: 0, } } func ProvideAsynQClient() *asynq.Client { return asynq.NewClient(getAsynQRedisOpt()) } func ProvideAsynQServer() *asynq.Server { return asynq.NewServer(getAsynQRedisOpt(), asynq.Config{Concurrency: 10}) } func init() { Must(Container.Provide(ProvideAsynQClient)) Must(Container.Provide(ProvideAsynQServer)) }