Machinery 异步任务队列 MongoDB 存储后端
package main
import (
"cnb.cool/xqitw/machinery-mongo-backend/backends/mongo"
"cnb.cool/xqitw/machinery-mongo-backend/backends/mongo/conf"
"github.com/RichardKnop/machinery/v2"
"github.com/RichardKnop/machinery/v2/brokers/redis"
"github.com/RichardKnop/machinery/v2/config"
"github.com/RichardKnop/machinery/v2/locks/eager"
"github.com/RichardKnop/machinery/v2/tasks"
)
var cnf = &config.Config{
DefaultQueue: "machinery_tasks",
ResultsExpireIn: 3600,
Redis: &config.RedisConfig{
MaxIdle: 3,
IdleTimeout: 240,
ReadTimeout: 15,
WriteTimeout: 15,
ConnectTimeout: 15,
NormalTasksPollPeriod: 1000,
DelayedTasksPollPeriod: 500,
},
}
var broker = redis.New(cnf, "127.0.0.1:6379", "default", "pass", "", 0)
var backend = mongo.New(
cnf,
conf.WithMongoURI("mongodb://user:pass@127.0.0.1:27017/machinery?authSource=admin"),
conf.WithMongoDatabase("machinery"),
conf.WithMongoCollectionTask("tasks"),
conf.WithMongoCollectionTaskGroup("group_metas"),
)