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

茂名手机网站建设公司名录黄冈做网站公司

茂名手机网站建设公司名录,黄冈做网站公司,wordpress改二级域名,成都网站制作机构前言 很多时候后台需要做定时任务的需求,笔者的项目采用go-zero框架微服务框架,需要做定时任务,于是做了如下方法调研,共有大概三种主要选择 方案 难度总体由容易到复杂 go的timer库 通过Go的标准库time中的Ticker和Tick功能…

前言

很多时候后台需要做定时任务的需求,笔者的项目采用go-zero框架微服务框架,需要做定时任务,于是做了如下方法调研,共有大概三种主要选择

方案

难度总体由容易到复杂

go的timer库

通过Go的标准库time中的TickerTick功能来设置和管理定时任务,可以直接集成在服务启动逻辑中,不需要额外的文件或复杂的配置

func startTicker() {ticker := time.NewTicker(1 * time.Hour) // 每小时执行一次defer ticker.Stop()for {select {case <-ticker.C:// 执行定时任务fmt.Println("执行定时任务...")// 这里可以放置你的业务逻辑}}
}

cron库

使用robfig/cron这个Go库,作为大型复杂项目的定时任务,cron非常常见也非常强大

大概要在go-zero的服务启动文件里添加如下代码

    // 初始化Cron调度器cronScheduler := cron.New(cron.WithSeconds()) // 使用WithSeconds选项支持秒级调度// 添加定时任务_, err := cronScheduler.AddFunc("0 */1 * * * *", func() { // 每分钟执行一次// 定时任务的逻辑})if err != nil {logx.Errorf("添加定时任务失败: %v", err)return}// 启动Cron调度器cronScheduler.Start()// 停止Cron调度器defer cronScheduler.Stop()

go-queue

这是一种官方更加推荐的方法,不过需要配置消息队列集群,大概代码如下

package mainimport ("fmt""strconv""time""github.com/zeromicro/go-queue/dq"
)func main() {producer := dq.NewProducer([]dq.Beanstalk{{Endpoint: "localhost:11300",Tube:     "tube",},{Endpoint: "localhost:11301",Tube:     "tube",},})// 延迟 5s 后处理_, err := producer.Delay([]byte("hello"), time.Second*5)if err != nil {fmt.Println(err)}// 在指定时间点处理_, err = producer.At([]byte("hello"), time.Now().Add(time.Second*10))if err != nil {fmt.Println(err)}
}

总结

go-queue的方案直接被笔者排除了,不再额外配置消息队列集群,

其他两个方法比较也很明显


使用Cron库,可以在同一个调度器中管理多个任务,每个任务都有自己的Cron表达式

使用timer,如果有很多不同的任务,需要不同的时间间隔,管理这些会很麻烦


使用timer不需要引入依赖,使用cron需要引入依赖


http://www.yayakq.cn/news/497527/

相关文章:

  • 做网站最好用的软件男女做暖暖视频免费网站
  • 泊头网站建设抖音推广
  • 成都网站建设销售如何自己建设简单的手机网站首页
  • 湘潭营销型网站建设平台经济
  • 莆田专业建站公司苏州建设网站首页
  • 网站设置万事达u卡汕头自助建站模板
  • 大人怎么做羞羞的网站电子商务网站建设的期中考试
  • 手机网站自适应宽度一个专做里番的网站
  • 珠海建网站的联系方式陕西网站建设公司哪有
  • 建设一个人才网站需要的人才免费域名解析平台
  • 泰安市高新区建设局网站空间站 参考消息
  • 临夏州建设局网站医院网站建设投标书
  • 有没有好的网站可以学做头发怎么做类似美团的网站
  • 网站运营岗位介绍专业的网络公司有哪些
  • 用flask做的网站wordpress怎么引用js
  • wordpress模板怎么制作视频教程宁波怎样优化关键词
  • 漯河高端网站建设网站重新解析
  • 全广告网站经营网站备案
  • 杭州网站建设服务公司推广软文
  • tq网站漂浮代码西安网站建设培训班
  • 网站建设花多少钱广宁城乡建设网站
  • 手表网站制作照片广州30万人感染
  • 做网站公司松江东莞网站建设怎么收费
  • 个人什么取消网站备案中山做网络推广的公司
  • 邹平网站定制wordpress 菜单 锚点
  • 德兴网站seo免费的网站软件
  • 东胜网站制作找人做企业网站注意啥
  • 清河网站建设设计产品网络推广深圳
  • 兰州市网站建设公司赛雷猴是什么意思
  • 哪个网站可以做图片传统网站怎么换成WordPress