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

阿里云这么建设网站企业代理注册公司

阿里云这么建设网站,企业代理注册公司,海关数据查询平台官网,高端网站制作效果好目录 1.创建一个yaml文件#xff0c;名字可以是student.yaml 2.创建go文件测试 3.执行结果 本文章内容#xff0c;只是一个简单的案例#xff0c;但足够映射到一个大的项目中。 工作流作用#xff1a;工作流的作用就是通过yaml配置文件#xff0c;将关于本工作流的一个…目录 1.创建一个yaml文件名字可以是student.yaml 2.创建go文件测试 3.执行结果 本文章内容只是一个简单的案例但足够映射到一个大的项目中。 工作流作用工作流的作用就是通过yaml配置文件将关于本工作流的一个个task任务串联起来形成一个大的功能体。通过加载yaml将任务执行的顺序固定化。 说白了就是对任务进行编排当大流量来的时候可以让线程排队执行。 比如用户注册需要验证哪些参数比如验证邮件地址验证手机号可以把这些小功能放到一个小任务中也就是task。然后将这些任务串起来形成一个大功能也就是工作流。 现在举个具体的案例来实现一个简易的工作流更加通俗易懂。 这里举了一个用户注册的功能。 1.创建一个yaml文件名字可以是student.yaml yaml都是keyvalue结构。- 代表的是一个数组数组中的元素是keyvalue结构这个value还可以是数组类型等等。 # 工作流名字 workflow: user# 具体执行的任务 tasks:# 邮件地址的有效性# 单斜杠后面 - 后面是一个列表# nametask的名字# action具体task对应的方法# params相关参数这个参数可能是前端传来的需要取出也可能是上一个task的结果。# requires这个任务是否有依赖也就是这个任务执行的时候需要执行的另一个任务。- name: validate_emailaction: validate_email_actionparams:email: userexample.comrequires: []- name: create_useraction: create_user_actionparams:username: yamlpassword: 123456# 这儿创建用户的时候需要验证邮件地址是否有效requires:- validate_email- name: send_welcome_emailaction: send_welcome_email_actionparams:recipient: userexample.comsubject: Welcome to our platform!body:Dear John Doe,Welcome to our platform! We are excited to have you on board.Best regards,The Team# 发送这个welcome消息的时候代表创建成功。requires:- create_user2.创建go文件测试 创建一个main.go package mainimport (fmtgopkg.in/yaml.v3io/ioutil ) // Workflow 结构体 type Workflow struct {Name string yaml:workflowTasks []Task yaml:tasks }// Task 结构体 type Task struct {Name string yaml:nameAction string yaml:actionParams map[string]any yaml:paramsRequires []string yaml:requires }func main() {data, err : ioutil.ReadFile(workflow/student.yml)if err ! nil {fmt.Println(读取配置文件失败, err)return}var workflow Workflow// yaml反序列化将字节类型的数据反序列化到结构体中err yaml.Unmarshal(data, workflow)if err ! nil {fmt.Println(data反序列化错误, err)return}// 执行工作流的任务// 获取工作流for _, task : range workflow.Tasks {if checkDependecies(task.Requires) {fmt.Println(执行任务, task.Name)result, err : executeTask(task.Action, task.Params)if err ! nil {fmt.Println(任务执行失败, err)return}fmt.Println(执行的结果为, result)fmt.Println(---)} else {fmt.Println(跳过任务, task.Name)}fmt.Println(task.Params:, task.Params)fmt.Println(task.Action:, task.Action)fmt.Println(task.Requires:, task.Requires)fmt.Println(task.Name:, task.Name)if task.Params[username] ! {fmt.Println(task.Params username:, task.Params[username])}}fmt.Println(用户执行成功~)}// 检查任务的依赖是否满足 func checkDependecies(requires []string) bool {// todo 验证参数return true } // 执行任务 func executeTask(action string, params map[string]any) (string, error) {switch action {case validate_email_action:// todo 验证邮件地址的有效性return ok, nilcase create_user_action://todo 创建用户return user_id, nilcase send_welcome_email_action:// 发送消息return ok, nildefault:return , fmt.Errorf(未知的任务%s, action)} }3.执行结果 我把参数信息都打印出来了 执行任务 validate_email 执行的结果为 ok --- task.Params: map[email:userexample.com] task.Action: validate_email_action task.Requires: [] task.Name: validate_email task.Params username: nil 执行任务 create_user 执行的结果为 user_id --- task.Params: map[password:123456 username:yaml] task.Action: create_user_action task.Requires: [validate_email] task.Name: create_user task.Params username: yaml 执行任务 send_welcome_email 执行的结果为 ok --- task.Params: map[body:Dear John Doe, Welcome to our platform! We are excited to have you on board. Best regards, The Team recipient:userexample.com subject:Wel come to our platform!] task.Action: send_welcome_email_action task.Requires: [create_user] task.Name: send_welcome_email task.Params username: nil 用户执行成功~
http://www.hkea.cn/news/14368628/

相关文章:

  • 51ppt模板免费下载网站表单大师 做网站
  • 全总基层组织建设网站深圳荷坳网站建设公司
  • 湘潭seo长沙网站优化外包公司
  • 单位做网站有哪些做任务的兼职网站
  • 向国旗敬礼做时代新人网站山西推广型网站建设
  • 江苏赛孚建设工程有限公司网站百度极速版免费下载
  • 网站建设目的是什么广西网站建设培训
  • 寻找常州微信网站建设规划设计公司资质要求
  • 夏邑做网站橙光文字游戏制作工具
  • 哪些网站是做数据分析的昆明抖音推广公司
  • 山东查询网站备案网站流量用完了
  • 部门网站建设和维护广州市花都区网站建设公司
  • 网站建设规划方书模板如何免费建个人网站
  • 岳池做网站电话沈阳关键词快照优化
  • 论述网站建设及运营流程网站信任 用户转化
  • 绥化网站建设兼职拍摄制作宣传片企业
  • 甘肃省引洮工程建设管理局官方网站交易所网站开发
  • 如何做网站规范易语言做网站视频
  • wordpress音乐网站主题深圳十大集团公司排名
  • 建设淘宝客网站服装市场网站建设
  • 山西物价局建设工程检测网站首页做网站需要哪些费用
  • 做外卖网站单页设计多少钱一张
  • 做网站如何引用头部福州市建设局网站
  • 南宫28在线注册网站网站难做
  • 网页设计网站多少钱网站空间太小
  • 香水网站建设规划书湘潭市建设工程质量监督站网站
  • 高密建设局网站甘肃省建筑信息平台
  • 网站设计与管理方向游戏平台网站开发
  • 营销型网站 平台宣传册设计与制作免费
  • 重庆做企业网站设计的公司检察机关门户网站建设自查报告6