go 定时任务 gocron timer
选型推荐(DeepSeek)
简单任务调度: 推荐使用 cron 或 gocron,它们轻量且易用。
复杂任务调度: 推荐使用 go-quartz,支持任务依赖和持久化。
分布式任务调度: 推荐使用 asynq,基于 Redis 实现,适合分布式场景。
任务状态监控: 推荐使用 jobrunner,提供 Web 界面查看任务状态。
gocron 示例
import ("fmt""time""github.com/go-co-op/gocron"
)func jobFunc() {fmt.Println("任务执行啦!")
}func main() {fmt.Println("main ...")s := gocron.NewScheduler(time.UTC)// 每分钟执行一次任务// s.Every(1).Second().Do(jobFunc)// 每天的固定时间执行任务// s.Every(1).Day().At("10:30").Do(jobFunc)// 3S后执行一次now := time.Now().Add(3 * time.Second)s.Every(1).Second().StartAt(now).LimitRunsTo(2).Do(jobFunc)s.StartAsync()time.Sleep(time.Second * 7)fmt.Println("success ...")
}
Timer定时器
// +main ...
// 2025-02-12 16:25:58.8250935 +0800 CST m=+0.004155201
// 2025-02-12 16:26:00.8560862 +0800 CST m=+2.035117201
// 2025-02-12 16:26:03.8679151 +0800 CST m=+5.046900601
// 2025-02-12 16:26:05.873156 +0800 CST m=+7.052111201
// success ...
func main() {fmt.Println("main ...")// 当前时间打印t1 := time.Now()fmt.Println(t1.String())timer1 := time.NewTimer(2 * time.Second)// 阻塞延迟2St2 := <-timer1.Cfmt.Println(t2.String())// 重置,重新延迟3Stimer1.Reset(3 * time.Second)t2 = <-timer1.Cfmt.Println(t2.String())// 如果没到时间 关闭timer// if timer1.Stop() {// fmt.Println("close timer success")// }// 阻塞延迟2St3 := <-time.After(2 * time.Second)fmt.Println(t3.String())fmt.Println("success ...")
}
相关文章:
go 定时任务 gocron timer
选型推荐(DeepSeek) 简单任务调度: 推荐使用 cron 或 gocron,它们轻量且易用。 复杂任务调度: 推荐使用 go-quartz,支持任务依赖和持久化。 分布式任务调度: 推荐使用 asynq,基于 Redis 实现,适合分布式…...
uniapp引入uview组件库(可以引用多个组件)
第一步安装 npm install uview-ui2.0.31 第二步更新uview npm update uview-ui 第三步在main.js中引入uview组件库 第四步在uni.scss中引入import "uview-ui/theme.scss"样式 第五步在文件中使用组件...
MySQL主从架构
MySQL主从架构 MySQL REPLICATION 在实际生产环境中,如果对数据库的读和写都在一个数据库服务器中操作。无论是在安全性、高可用性,还是高并发等各个方面都是完全不能满足实际需求的,因此,一般来说都是通过主从复制(…...
科普mfc100.dll丢失怎么办?有没有简单的方法修复mfc100.dll文件
当电脑频繁弹窗提示“mfc100.dll丢失”或应用程序突然闪退时,这个看似普通的系统文件已成为影响用户体验的核心痛点。作为微软基础类库(MFC)的核心组件,mfc100.dll直接关联着Visual Studio 2010开发的大量软件运行命脉。从工业设计…...
论文笔记:How Much Can Time-related Features Enhance Time Series Forecasting?
202412arxiv 许多时间序列预测方法靠变量建模,却忽略了时间戳相关特征(如季节、月份、星期几、小时、分钟等) ——>论文尝试仅基于时间戳进行预测(这个仅我觉得其实不是很严谨,还是用了时间序列变量的数据【不可能…...
Qt学习(六) 软件启动界面 ,注册表使用 ,QT绘图, 视图和窗口绘图,Graphics View绘图框架:简易CAD
一 软件启动界面 注册表使用 知识点1:这样创建的界面是不可以拖动的,需要手动创建函数来进行拖动,以下的3个函数是从父类继承过来的函数 virtual void mousePressEvent(QMouseEvent *event);virtual void mouseReleaseEvent(QMouseEvent *eve…...
JavaScript系列(80)--WebAssembly 基础入门
WebAssembly 基础入门 🚀 WebAssembly(简称Wasm)是一种低级的类汇编语言,它具有紧凑的二进制格式,能够以接近原生的性能在现代Web浏览器中运行。让我们深入了解这项革命性的技术。 WebAssembly 概述 🌟 &…...
蓝桥杯刷题2.21|笔记
参考的是蓝桥云课十四天的那个题单,不知道我发这个有没有问题,如果有问题找我我立马删文。(参考蓝桥云课里边的题单,跟着大佬走,应该是没错滴,加油加油) 一、握手问题 #include <iostream&g…...
053 性能压测 单机锁 setnx
文章目录 性能压测-压力测试索引thymeleafnginx减少数据库查询(代码有bug)缓存 安全单机锁(防止缓存击穿)setnx pom.xml 性能压测-压力测试 1 响应时间(Response Time: RT):响应时间指用户从客…...
【天线】IFA天线知识点摘抄
MIFA天线的尺寸与性能关系 1,辐射效率 天线越小,辐射效率越低。唯一好处是减少PCB占用空间 2,带宽 一般MIFA天线在2.4G频段内的带宽:S11≤-10dB的范围为2.44GHz230MHz。较小的尺寸可能会限制带宽 3,增益 MIFA天线的…...
Mysql视图有什么作用?你是否使用过视图?
MySQL视图(View)是一种虚拟表,其内容由查询定义。视图并不实际存储数据,而是基于一个或多个表的查询结果生成。以下是关于MySQL视图的详细说明: 1. 视图的定义 概念:视图是一个虚拟表,其内容由…...
【vue项目如何利用event-stream实现文字流式输出效果】
引言 在现代 Web 应用中,实时数据展示是一个常见需求,例如聊天消息逐字显示、日志实时推送、股票行情更新等。传统的轮询或一次性数据加载方式无法满足这类场景的流畅体验,而 流式传输(Streaming) 技术则能实现数据的…...
微信问题总结(onpageshow ,popstate事件)
此坑描述 订单详情某按钮点击,通过window.location.href跳转到(外部)第三方链接后,回退后,在ios中生命周期和路由导航钩子都失效了,无法触发。 在安卓中无视此坑, 回退没有问题 解决 原因&am…...
【Gin-Web】Bluebell社区项目梳理3:社区相关接口开发
本文目录 一、接口详情1. 获取分类社区列表接口2. 根据id查询社区 二、值类型与引用类型 一、接口详情 跟社区有关的接口详情如下。 1. 获取分类社区列表接口 首先是Controller层,然后跳转到Logic层业务逻辑的开发。 这是Logic层,再做一次跳转&#…...
Unity 聊天气泡根据文本内容适配
第一步 拼接UI 1、对气泡图进行九宫图切割 2、设置底图pivot位置和对齐方式 pivot位置:(0,1) 对齐方式:左上对齐 3、设置文本pivot位置和对齐方式,并挂上布局组件 pivot设置和对齐方式和底图一样&#…...
对学习编程语言的一些理解
目录 一、代码运行的过程 二、跨平台的实现 1)C/C 2)C# 3)Java 三、总结 一、代码运行的过程 开发程序无论使用何种编程语言,至少都需要经历编码、编译、连接和运行这么4个过程,C语言是这样,Java语言…...
MySQL MHA 部署全攻略:从零搭建高可用数据库架构
文章目录 1.MHA介绍2.MHA组件介绍3.集群规划4.服务器初始化5.MySQL集群部署5.1 安装MySQL集群5.2 配置一主两从5.3 测试MySQL主从5.4 赋予MHA用户连接权限 6.安装MHA环境6.1 安装MHA Node6.2 安装MHA Manager 7.配置MHA环境8.MySQL MHA高可用集群测试8.1 通过VIP连接MySQL8.2模…...
windows怎样查看系统信息(处理器等)
首先打开命令行工具 win R 输入 cmd, 输入 msinfo32 ,然后回车 这个页面就可以看到 电脑的锐龙版就是 AMD 芯片 酷睿版就是 intel 芯片...
007 HBuilderX提示IDE service port disabled. To use CLI Call, open IDE
描述 微信小程序 工具的服务端口已关闭 解决方案 在HBuider的菜单“运行”选择“运行到小程序模拟器-微信开发者工具”时,步骤如图: 提示:IDE service port disabled. To use CLI Call, open IDE -> Settings -> Security Settings,…...
计算机网络之TCP的可靠传输
上一篇内容可能比较多,显得比较杂乱,这一篇简单总结一下TCP是靠什么实现可靠传输的吧。 校验和 TCP是端到端的传输,由发送方计算校验和,接收方进行验证,目的是为了验证TCP首部和数据在发送过程中没有任何改动&#x…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...
多元隐函数 偏导公式
我们来推导隐函数 z z ( x , y ) z z(x, y) zz(x,y) 的偏导公式,给定一个隐函数关系: F ( x , y , z ( x , y ) ) 0 F(x, y, z(x, y)) 0 F(x,y,z(x,y))0 🧠 目标: 求 ∂ z ∂ x \frac{\partial z}{\partial x} ∂x∂z、 …...
