28 lines
572 B
Go
28 lines
572 B
Go
|
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))
|
||
|
}
|