当前位置: 首页 > news >正文

Go语言实现长连接并发框架 - 任务执行流上下文

文章目录

  • 前言
  • 接口
  • 结构体
  • 接口实现
  • 最后

前言

你好,我是醉墨居士,上篇博客中我们实现了任务执行流部分,接下来我们需要对任务执行流的执行流程进行控制,接下来我们要去实现对客户端请求处理的任务上下文。那为什么我需要一个请求处理的任务上下文呢?这是因为我要在后续支持请求可以通过任务流去完成的业务处理,然后我们可以给任务处理流增加任务处理逻辑,完成业务逻辑的拓展,然后后续可以支持任务处理逻辑的插件注册,完成路由分组等等功能

接下来介绍我们这篇博客的主角 - 任务执行流上下文

接口

trait/context.go

type Context interface {MessageNext()Abort()
}

结构体

gcore/context.go

// Context 任务上下文
type Context struct {trait.Request// 当前执行的任务索引taskIdx int// 任务执行流tasks trait.TaskFlow
}

接口实现

// Next 执行下一个任务
func (c *Context) Next() {c.taskIdx++if c.taskIdx < c.tasks.Len() {c.tasks.Execute(c.taskIdx, c)c.taskIdx++}
}// Abort 中止任务流
func (c *Context) Abort() {c.taskIdx = constant.AbortIndex
}

最后

我是醉墨居士,我们这篇博客完成了任务执行流上下文的代码开发,希望让大家有所收获


http://www.mrgr.cn/news/41913.html

相关文章:

  • Valhalla实现 -Docker部署利用OSM(Mapbox)地图实现路径规划可视化
  • 重生到现代之从零开始的C语言生活》—— 内存的存储
  • 深入理解 Solidity 中的支付与转账:安全高效的资金管理攻略
  • 吉他弹唱打谱软件哪个好用 吉他弹唱制谱教程
  • 抗生素治疗百病吗?
  • 工具的力量——提升工作效率的编程工具选择与运用
  • JavaScript(JS)学习笔记 6 常用的JS内置对象(FileReader对象 FormData对象 Promise对象)
  • Comparable接口和Comparator接口
  • SpringCloud微服务搭建实战
  • 华为云+WordPress+Puock主题搭建个人博客
  • 【Bug】STM32F1的PB3和PB4无法正常输出
  • 【当当网】电子书城-02-验证码的实现
  • 物联网 IOT 与工业物联网 IIOT 极简理解
  • 画质与体验双升, 海信AI电视从此更懂你
  • [Python学习日记-36] Python 中的内置函数(中)
  • 【树形DP】AT_dp_p Independent Set 题解
  • 思维题库 T73 放置商店
  • [Python学习日记-37] Python 中的内置函数(下)
  • CSP-J模拟赛(3)补题报告
  • 【AIGC】ChatGPT账号的常见封号原因与解封方法