package mqs import ( "context" "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc" scheduler2 "gitlink.org.cn/jcce-pcm/pcm-coordinator/pkg/scheduler" ) /* * Listening to the payment flow status change notification message queue */ type HpcMq struct { ctx context.Context svcCtx *svc.ServiceContext } func NewHpcMq(ctx context.Context, svcCtx *svc.ServiceContext) *HpcMq { return &HpcMq{ ctx: ctx, svcCtx: svcCtx, } } func (l *HpcMq) Consume(val string) error { // 接受消息, 根据标签筛选过滤 hpcSchdl := scheduler2.NewHpcScheduler(val) schdl, err := scheduler2.NewScheduler(hpcSchdl, val, l.svcCtx.DbEngin) if err != nil { return err } schdl.MatchLabels() // 调度算法 err = schdl.AssignAndSchedule() if err != nil { return err } // 存储数据 err = schdl.SaveToDb() if err != nil { return err } return nil }