-
Notifications
You must be signed in to change notification settings - Fork 36
server
gojuukaze edited this page Jul 14, 2020
·
6 revisions
import "github.com/gojuukaze/YTask/v2"
ser := ytask.Server.NewServer(
ytask.Config.Broker(&broker),
ytask.Config.Backend(&backend),
...
)
Config | require | default | code | other |
---|---|---|---|---|
Broker | * | ytask.Config.Broker | ||
Backend | nil | ytask.Config.Backend | ||
Debug | FALSE | ytask.Config.Debug | ||
StatusExpires | 1day | ytask.Config.StatusExpires | "task status expires in ex seconds, -1:forever" | |
ResultExpires | 1day | ytask.Config.ResultExpires | "task result expires in ex seconds, -1:forever" |
- StatusExpires, ResultExpires is not valid for Mongo backend, 0 means no storage, > 0 means permanent storage
func addFunc(a,b int) (int, bool){
return a+b, true
}
// group1 : group name is also the query name
// add : worker name
// addFunc : worker func
ser.Add("group1","add",addFunc)
// group1 : run group name
// 3 : number of worker goroutine
// false: enableDelayServer
ser.Run("group1",3, false)
quit := make(chan os.Signal, 1)
signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
<-quit
ser.Shutdown(context.Background())
-
v2.2.0+ can run multiple groups with the same server.
ser:=ytask.Server.NewServer(...) ser.Run("g1",1) ser.Run("g2",1)