Files

40 lines
772 B
Go

package client
import (
"sipro-mps/internal/config"
"sipro-mps/internal/tasks/types"
"github.com/hibiken/asynq"
)
var Client *asynq.Client
// InitClient initializes the Asynq client with the provided Redis configuration.
func InitClient(redisConfig config.RedisConfig) {
client := asynq.NewClient(asynq.RedisClientOpt{
Addr: redisConfig.Addr,
Password: redisConfig.Password,
})
Client = client
}
func CloseClient() {
if Client != nil {
if err := Client.Close(); err != nil {
panic(err)
}
}
}
func EnqueueFetchProductsTask(taskType string, marketplaceId int) error {
task, err := types.NewFetchProductsTask(taskType, marketplaceId)
if err != nil {
return err
}
_, err = Client.Enqueue(task)
if err != nil {
return err
}
return nil
}