go asynq 怎么取消任务?

阅读 5k
2 个回答

找到解决办法了,应该使用 inspector

var err error
inspector := asynq.NewInspector(asynq.RedisClientOpt{Addr: "localhost:6379"})

err = inspector.CancelProcessing(id)
if err != nil {
    log.Fatalln("cancel task failed", err)
}

err = inspector.ArchiveTask("default", id)
if err != nil {
    log.Fatalln("archive task failed", err)
}

用任务的ID来取消任务。每个任务都有一个唯一的ID,可以在新建建任务时获取。或者直接从 Redis 里删除任务

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题