搜狗workflow框架例程分析——03

测试说明

本次例程在ubuntu上运行,redis服务器安装在本机的windows系统下,运行例程00作为访问对象。

测试结果

没有运行例程03之前在redis的数据库
在这里插入图片描述
运行例程03之后
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

可以看到数据库中已经增加了关于本地端口8888的记录。

代码分析

在例程中,主要关注三个callback函数(series_callback, http_callback, redis_callback)和一个lamda函数

main函数

在这里插入图片描述
前面就是正常的对http协议报和redis数据报封装

在这里插入图片描述
后面创建了一个series函数,并开始任务。
之前两组示例中,我们直接调用task->start()启动第一个任务。task->start()操作实际的工作方法是,
先创建一个以task为首任务的SeriesWork,再启动这个series。我们想给series设置一个callback,并加入一些上下文。所以我们不使用任务的start接口,而是自己创建一个series。并通过lamda函数制造了series的回调函数
这里将http_task任务设为首任务,成功获取http数据报后调用http回调函数解析,然后继续调用redis回调函数将http数据写入数据库中。
分析一下lamda函数
什么是lamda函数https://www.cnblogs.com/jimodetiantang/p/9016826.html

在程序中,捕获子句设置为wait_group,借助计时功能,通过done()结束整个程序。

http_callback函数

在这里插入图片描述

在已经成功拿到http数据报的前提下,将数据存入body中,然后创建redis任务并将任务添加到series任务序列末尾,将网页数据和长度传入,并保存到redis数据库中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个旅者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值