workerman怎么推送微信模板消息

0

请问下我有如下需求
项目需求是这样,


管理员通过在页面前端创建课程,当课程创建成功之后要给平台所有的用户推送一条微信模板消息,原先我是直接通过 顺序执行发送微信模板消息,但是这种情况下由于nginx服务器超时机制,会导致很多的人收不到消息,所以必须更改策略,请问下使用workman怎么来实现给每个用户推送微信模板消息(需要与微信服务器进行交互)呢?

已邀请:

walkor

赞同来自:

你把流程图画下吧

crelaber

赞同来自:

管理员发布课程 ------>ajax提交数据


后端处理
1、添加课程数据到数据库
2、查询该课程对应的机构下所有的关注者列表
3、循环遍历关注着获取用户的openid
4、通过openid调用封装好的发送微信模板方法发送消息通知b


后端伪代码如下


$this->model('course')->add_course($course_data);
$organ_id = $_post; //机构id
$follow_list = $this->model('organ')->get_follow_list($organ_id);

foreach($follow_list as $key => $val){

$this->model('weixin')->send_tpl_msg($val);

}

walkor

赞同来自:

你可以用http://www.workerman.net/workerman-jsonrpc,它可以异步并行处理业务。


1、Applications/JsonRpc/Services 下新建Weixin.php


<?php
class Weixin
{
public static function sendTplMsg($openid)
{
// 通过openid调用封装好的发送微信模板方法发送消息通知
send_tpl_msg($openid)
}
}

2、启动服务端
调试方式终端命令行运行,此方式运行可以调试服务端错误
php start.php start


正式环境终端命令行运行,守护进程方式运行
php start.php start -d


3、网页调用的时候像这样


include_once 'yourClientDir/RpcClient.php';
// 服务端列表
$address_array = array('tcp://127.0.0.1:2015');
RpcClient::config($address_array);
$weixin = RpcClient::instance('Weixin');
foreach($follow_list as $key => $val){
$weixin->asend_sendTplMsg($val);
}

4、workerman-jsonrpc只支持Linux系统,win系统就不要想了。

要回复问题请先登录注册