Files
labmem 1a48960022 feat: 添加 Go 内存分配示例并整理笔记
拆分 Go 第三方库笔记并更新索引。
新增 Gitleaks 使用说明,清理过时笔记。
2026-10-08 16:18:54 +08:00

967 B

asynq

GitHub网址

  • 入队流程

    payload := &jobtype.xxxPayload{}
    payloadByte, err := jsoniter.Marshal(payload)
    if err != nil {
    	logt.Error("xxx jsoniter.Marshal err:", err)
    	return nil, zerr.New(rescode.DataFormatConversionError)
    }
    	_, err = l.svcCtx.AsynqClient.Enqueue(asynq.NewTask(jobtype.xxx, payloadBytes, asynq.Queue(consts.QueueLow)))
    if err != nil {
    	logt.Error("xxx enqueue err:", err)
    	return nil, zerr.New(rescode.EnqueueErr)
    }
    
  • 自行定义了队列优先级,在入队的时候可以加参数进行选择

    consts.QueueCritical: 6,
    consts.QueueDefault:  3,
    consts.QueueLow:      1,
    
  • 处理前流程(反序列化,获取数据)

    var payload jobtype.xxx
    err := json.Unmarshal(task.Payload(), &payload)
    if err != nil {
        logt.Error("xxx unmarshal payload err:", err)
        return zerr.New(rescode.DataFormatConversionError)
    }