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

双流区的规划建设局网站网易企业邮箱可以保存多少邮件

双流区的规划建设局网站,网易企业邮箱可以保存多少邮件,做简单的html网站,房地产市场分析golang开源定时任务调度框架 Go语言中有很多开源的定时任务调度框架,以下几个是比较流行常用的: golang开源定时任务框架介绍 cron 一个基于Cron表达式的定时任务库,可以精确到秒级。它提供了简单易用的API来定义和管理定时任务&#xff…

golang开源定时任务调度框架

Go语言中有很多开源的定时任务调度框架,以下几个是比较流行常用的:

golang开源定时任务框架介绍

  • cron

一个基于Cron表达式的定时任务库,可以精确到秒级。它提供了简单易用的API来定义和管理定时任务,支持任务暂停、恢复、删除等操作,同时还能够在多个节点之间共享状态信息。
目前在github中的star最多,最为流行。
官方网站地址:https://github.com/robfig/cron

  • go-crontab

一个轻量级的定时调度库,也是基于Cron表达式的。它支持多种调度方式,包括分布式调度、集群调度,同时还提供了Web控制台和RESTful API接口,非常方便使用。
一个定时任务管理器,基于Go语言和beego框架开发。用于统一管理项目中的定时任务,提供可视化配置界面、执行日志记录、邮件通知等功能,无需依赖*unix下的crontab服务。
官方网站地址:https://github.com/lisijie/webcron

  • jobrunner

一个简单易用的定时任务库,它支持按照时间周期或按照固定时间点执行任务。除此之外,还支持异步任务、任务重试、延迟任务等功能。
官方网站地址:https://github.com/bamzi/jobrunner

  • gocron

另一个基于Cron表达式的定时任务库,它可以让你以链式调用的方式定义任务,并且支持任务组、任务优先级等功能。
官方网站地址:https://github.com/go-co-op/gocron

总之,这些库使用起来都比较简单,你可以根据自己的需求和喜好选择其中一个来使用。因为每个定时框架都有其自身的优点和适用场景。以下是每个框架的一些特点仅供参考:

golang开源定时任务框架对比

  • cron
    目前在github中的star最多,得到广泛的使用和测试。评测结果表明,与其他相比,它拥有最高的调度准确性,尤其在较高负载下。它也有宽松的开源许可证,允许你做任何你想做的事情。

  • go-crontab
    基于Go语言和beego框架开发,可以运行多个实例(master/扇脸ave)并支持分布式部署。易于集成,并提供了控制台和API接口。在Go语言中编写,易于维护和扩展。

  • jobrunner
    拥有丰富的功能,包括异步任务、任务重试、延迟任务等。具有充分的单元测试和文档支持。代码简单而直观。

  • gocron
    支持链式调用,非常易于使用。可以定义任务组、任务优先级等。在调度方面表现良好,但没有经过广泛测试。

总结:因此,选择哪个库主要取决于您的需求和偏好。如果你需要更高的调度准确性和稳定性,那么cron可能是一个不错的选择;
如果你需要分布式调度和控制台支持,那么go-crontab可能更适合你。而如果你需要更多的功能和灵活性,那么jobrunner可能更适合你。

我目前选择的是:cron,因为在github中的star最多,最为流行,能得到广泛的使用和测试,而且它的性能比较好。

cron使用

官方地址:https://github.com/robfig/cron

下载依赖包

go get github.com/robfig/cron/v3@v3.0.0

cron的封装如下示例:

import "github.com/robfig/cron/v3"var C *cron.Cron
// 记录启动的任务EntryId
var TaskEntryIdMap map[string]cron.EntryIDfunc TaskInit() {TaskEntryIdMap = make(map[string]cron.EntryID)//创建一个定时任务对象,根据cron表达式进行时间调度,cron可以精确到秒,大部分表达式格式也是从秒开始// 默认从分开始进行时间调度//C = cron.New()//精确到秒C = cron.New(cron.WithSeconds())// 这里可以查询数据库里的定时任务,加载进来。//启动C.Start()
}// 添加定时任务
func AddFuncTask(taskId, name, desc, cron string, param map[string]interface{}, cmd func(map[string]interface{})) bool {entryId, err := C.AddFunc(cron, func() {cmd(param)})if err != nil {Log.Error("task AddFuncTask start error:", err)return false}//这里可以把定时任务保存到数据库,重启程序时,可以从数据库加载定时任务addEntryId(taskId, entryId)return true
}// 删除定时任务
func DeleteTask(taskId string) {C.Remove(TaskEntryIdMap[taskId])deleteEntryId(taskId)//从数据库删除任务
}func addEntryId(taskId string, entryId cron.EntryID) {TaskEntryIdMap[taskId] = entryId
}func deleteEntryId(taskId string) {delete(TaskEntryIdMap, taskId)
}func TaskClose() {//关闭cronC.Stop()
}func main() {//初始化定时任务TaskInit()//其他业务初始化//关闭定时任务TaskClose()
}

以上示例根据业务动态调整,可以把定时任务保存到数据库,当程序重启的时候从数据库把定时任务查询出来,在启动执行。

基于cron表达式定时监控,支持任务的总体启动暂停和单个任务的启动暂停
https://github.com/dhjz/dwatch

参考链接:
https://blog.csdn.net/u013421629/article/details/129981594

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

相关文章:

  • 东坑网站仿做南京最新通告今天
  • 凡科做网站视频海口快速建站模板
  • 衡水网站建设推广合肥关键词优化平台
  • 深圳 购物网站如何在虚拟机中建设网站
  • 域名到期了网站备案还有效吗买了一个域名如何做网站
  • 怎么做网页个人信息深圳seo招聘
  • 网站维护必须要会什么发布自己的做家教的网站
  • 点击即玩的小游戏网站网站排名怎么弄
  • 做网站怎么赚钱最新网页游戏排行榜2021
  • 软件下载网站哪个比较好在政务网站建设与管理上的讲话
  • 网站开发 简单留言板网页风格设计
  • 餐饮培训网站建设做韩国网站
  • 建网站域名注册怎么制作网站内容
  • 网站联盟是什么意思装修公司网站该怎么做
  • 公司做网站让拍照备案深圳专业做网站哪家专业
  • 网站开发 技术支持服务协议进入qq空间登录
  • 邹平县城乡建设局网站模拟手机营销网站
  • 电子商务网站方案公司网址备案能用多少网站
  • p2p的网站建设网站logo设计免费版在线
  • 机关网站建设费入什么科目wordpress缓存插件汉化破解版
  • 宠物网站怎么做宁波市建设银行网站
  • 高端品牌网站建设内容站长工具seo综合查询全面解析
  • 网站图片有什么要求吗wordpress 如何改中文字体
  • 无锡网站设.net做网站教程
  • 做公益的网站联想网站建设与分析
  • 学生作业 制作一个网站象山seo外包服务优化
  • 桂林做网站多少钱wordpress侧边栏关闭
  • 辽宁建设工程信息网官网新网站是哪个开网店0基础教程
  • 国外外贸网站有哪些蜂鸟配送网站谁做的
  • 什么叫做响应式网站wordpress二级菜单展开