GoNotifyConsumer 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
GoNotifyConsumer 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
GoNotifyConsumer 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 未知
开发语言 Google Go
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 宣言
适用人群 未知
收录时间 2020-03-10

软件简介

GoNotifyConsumer:回调任务消费,类似微信支付回调,多条推送队列

将一个推送任务推送进来,消费者将会POST任务数据到指定的url(通知客户)

客户接受接口需要响应指定内容 默认"success"字段,如果没有响应该内容,则认定回调失败,将会按一定间隔再次触发推送,直到超出次数或者推送成功

环境依赖

基于goframe框架,请先查看该框架的开发文档、gf工具使用文档

打包构建:gf build main.go

上传构建包和其他目录(配置目录 public目录等) 运行即可

默认配置

默认失败4次就丢弃,每次间隔为:{0, 5, 10, 30}

默认推送的url返回"success"即为成功,若要修改,在app/cron/notify/consumer.go的doJob方法中找到相关逻辑修改 if responseContext != "success" {

相关 api url

  • 打开推送入口 /notify/OpenQueue (默认打开)
  • 关闭推送入口 /notify/RefuseQueue
  • 推送数据进队列 /notify/PushQueue post两个字段
    • url
    • data 数组

可以参考api接口的逻辑,实现TCP版推送入口,增加响应速率。

相关代码所在文件

boot/boot.go 开启监听的队列

app/cron/notify/consumer.go 设置每次队列失败后增加的间隔

如何新增次数

  • app/cron/notify/consumer.go 新增delayTimeArray数组的元素
  • boot/boot.go 增加初始化队列、消费者开启(传入队列,最后一个队列传递自身就好了 反正不会用到)

     

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
7 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部