123456789101112131415161718192021222324252627282930313233343536373839 |
- package dep
- import (
- "fmt"
- "kpt-pasture/config"
- "kpt-pasture/model"
- "kpt-pasture/module/asynq"
- "kpt-pasture/service/asynqsvc"
- "go.uber.org/dig"
- )
- func DIAsynqWorkOrder() (out *asynqsvc.Server) {
- container := DI()
- if err := container.Provide(AsynqWorkOrder); err != nil {
- panic(err)
- }
- if err := container.Invoke(func(c *asynqsvc.Server) { out = c }); err != nil {
- panic(err)
- }
- return
- }
- // AsyncDependency is the dependency for worker and kafka
- type AsyncDependency struct {
- dig.In
- WorkOrder asynq.BizExec // BizExec 工单
- }
- // AsynqWorkOrder 相关消费
- func AsynqWorkOrder(dep AsyncDependency) *asynqsvc.Server {
- cfg := config.Options()
- srv := asynqsvc.NewServer(cfg)
- pref := cfg.FarmName
- pattern := fmt.Sprintf("%s:%s", pref, model.TaskWorkOrder)
- srv.Mux.HandleFunc(pattern, dep.WorkOrder.DayWorkOrder) // 工单
- return srv
- }
|