Backend¶
Backend用于保存任务结果
redisBackend¶
import "github.com/gojuukaze/YTask/v2"
// 127.0.0.1 : host
// 6379 : port
// "" : password
// 0 : db
// 10 : 连接池大小.
// 对于server端,如果为0,则值为min(10, numWorkers)
// 对于client端, 你需要根据情况自行设置连接池
ytask.Backend.NewRedisBackend("127.0.0.1", "6379", "", 0, 10)
memCacheBackend¶
import "github.com/gojuukaze/YTask/v2"
// 127.0.0.1 : host
// 11211 : port
// 10 : 连接池大小.
// 对于server端,如果为0,则值为min(10, numWorkers)
// 对于client端, 你需要根据情况自行设置连接池
ytask.Backend.NewMemCacheBackend("127.0.0.1", "11211", 10)
mongoBackend¶
不支持设置过期时间,0代表不存储,>0代表永久存储
import "github.com/gojuukaze/YTask/v2"
// 127.0.0.1 : host
// 27017 : port
// "" : username
// "" : password
// "task": db
// "taks": collection
ytask.Backend.NewMongoBackend("127.0.0.1", "27017", "", "", "task", "task")
自定义backend¶
你可以自行定义backend。同broker一样,调用Activate()
时再建立连接。
type BackendInterface interface {
SetResult(result message.Result, exTime int) error
GetResult(key string) (message.Result, error)
// Activate connection
Activate()
SetPoolSize(int)
GetPoolSize() int
Clone() BackendInterface
}