Skip to content
gojuukaze edited this page Jul 14, 2020 · 6 revisions

init server

import "github.com/gojuukaze/YTask/v2"

ser := ytask.Server.NewServer(
		ytask.Config.Broker(&broker),
		ytask.Config.Backend(&backend),
		...
)

server config

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

add worker func

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)

run and shutdown

// 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)