php中白(比小白强一点儿) 利用 swoole+easywechat 实现微信模板消息群发/消息推送

利用swoole + easywechat实现微信公众号模板消息群发

之前做项目 有一个需求是给关注公众号的人群发模板消息,(⊙o⊙)…思考了一下决定用swoole实现模板消息群发 主要实现是在httpserver的request回调中接受后台要发送的消息内容 之后利用swoole_process模块fork出n个进程 在进程中 for循环开启多个协程 进行操作
环境的话就装个宝塔在装个swoole扩展就行
写的不好的话请多多包涵,指教 谢了~

那么 写好之后长这样儿 里面的db_class 还有waitGroup 没用上 不用管它
在这里插入图片描述
先来一个简单的composer.json 在里面设置了一个src目录
在这里插入图片描述
整一个目录 用来存放一些 配置信息 工具类 巴拉巴拉巴拉~
src中最主要的是App下的Start.php主要作用是返回container容器 容器中已经加载swoole 公众号 配置文件 注入easywechat对象 还有工具类
在这里插入图片描述
在这里插入图片描述
之后就开始写swoole的部分了
在这里插入图片描述
我这里用的的httpserver呢 主要是懒了 http访问起来比较简单 嘎嘎 不需要担心在后台发送数据请求的时候会阻塞 可以用php里面的 fsockopen来发送请求 他是异步的

下面就是在onrequest中接收数据了 这里说一下 数据分发的方法 比如需要发送100条数据 我设置一个进程负责发送20条数据 那么就fork出5个进程 如果需要发送110条数据的话 就会fork出6个进程 array_chunk就是做这个事儿的,之前想过 不传递数组直接传递数组下标 这个怎么是先没有想出来 憋哪儿了 但是即使传递数组的话 我也用了一下 引用传递…没报错 就当他好使了
在这里插入图片描述
比如我需要发送6调数据 一个进程负责发送2条数据 这里面的$new_array则是这个格式的
0=>[‘数据1’,‘数据2’],
1=>[‘数据3’,‘数据4’],
2=>[‘数据5’,‘数据6’]
直接将他发送给fork方法 则fork方法就会 fork出三个进程 分别来取出 这个new_array中的key
在这里插入图片描述
在这里插入图片描述
那么 到这里就结束了

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值