Some checks failed
Build docker and publish / prepare (20.15.1) (push) Successful in 2s
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.admin image_name:ppanel-admin name:admin]) (push) Successful in 4m10s
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.node image_name:ppanel-node name:node]) (push) Has been cancelled
Build docker and publish / deploy (push) Has been cancelled
Build docker and publish / notify (push) Has been cancelled
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.scheduler image_name:ppanel-scheduler name:scheduler]) (push) Has been cancelled
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.queue image_name:ppanel-queue name:queue]) (push) Has been cancelled
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.api image_name:ppanel-api name:api]) (push) Has been cancelled
50 lines
1.1 KiB
Go
50 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
|
|
"github.com/hibiken/asynq"
|
|
"github.com/zero-ppanel/zero-ppanel/apps/queue/internal/config"
|
|
"github.com/zero-ppanel/zero-ppanel/apps/queue/internal/handler"
|
|
"github.com/zero-ppanel/zero-ppanel/apps/queue/internal/svc"
|
|
"github.com/zeromicro/go-zero/core/conf"
|
|
"github.com/zeromicro/go-zero/core/logx"
|
|
"github.com/zeromicro/go-zero/core/trace"
|
|
)
|
|
|
|
var configFile = flag.String("f", "etc/queue-dev.yaml", "the config file")
|
|
|
|
func main() {
|
|
flag.Parse()
|
|
|
|
var c config.Config
|
|
conf.MustLoad(*configFile, &c, conf.UseEnv())
|
|
|
|
logx.MustSetup(c.Log)
|
|
if c.Telemetry.Name != "" {
|
|
trace.StartAgent(c.Telemetry)
|
|
}
|
|
|
|
svcCtx := svc.NewServiceContext(c)
|
|
|
|
server := asynq.NewServer(
|
|
asynq.RedisClientOpt{Addr: c.Asynq.Addr, Password: c.Asynq.Pass},
|
|
asynq.Config{
|
|
Concurrency: 20,
|
|
IsFailure: func(err error) bool {
|
|
logx.Errorf("asynq task error: %v", err)
|
|
return true
|
|
},
|
|
},
|
|
)
|
|
|
|
mux := asynq.NewServeMux()
|
|
handler.RegisterHandlers(mux, svcCtx)
|
|
|
|
fmt.Println("Starting zero-ppanel-queue worker...")
|
|
if err := server.Run(mux); err != nil {
|
|
logx.Must(err)
|
|
}
|
|
}
|