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 ...")
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/22375.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构系列三:List+顺序表+ArrayList

数据结构系列三 一、List&#xff08;1&#xff09;什么是List&#xff08;2&#xff09;常见接口介绍&#xff08;3&#xff09;List的使用 二、顺序表与ArrayList&#xff08;1&#xff09;线性表&#xff08;2&#xff09;顺序表&#xff08;3&#xff09;顺序表常用方法的模…

全局变量,局部变量

在main函数中又定义一遍全局变量&#xff1a;会导致程序出错 因为在函数中调用这个全局变量时&#xff0c;调用的值是在头文件下面的初始值&#xff0c;虽然你在main函数中改变了变量的值&#xff0c;但是你在main函数中重新定义了 如果这样写会过50%的数据&#xff0c;因为在…

Unity贴图与模型相关知识

一、贴图 1.贴图的类型与形状 贴图类型 贴图形状 2.在Unity中可使用一张普通贴图来生成对应的法线贴图&#xff08;但并不规范&#xff09; 复制一张该贴图将复制后的贴图类型改为Normal Map 3.贴图的sRGB与Alpha sRGB&#xff1a;勾选此选项代表此贴图存储于Gamma空间中…

互联网搜索、联网搜索 API 的探索与公开接口、大模型联网搜索接口、全网搜索接口

互联网搜索、联网搜索 API 的探索与公开接口、大模型联网搜索接口、全网搜索接口 关键词&#xff1a;互联网搜索、API 接口、实时数据、大模型联网、智能问答、数据采集、技术实践、成本优势、市场对比 概述 在当前大模型及人工智能技术迅速发展的背景下&#xff0c;如何让离…

牛客练习赛134 —— B题 python 补题 + 题解

牛客练习赛134 B 题目描述 示例输入&#xff1a; 1 5 1 2 4 5 6 2 5 4 6 9示例输出&#xff1a; 32解题思路&#xff1a; 题目大意 给定一个2行n列的矩阵&#xff0c;允许交换两列一次&#xff0c;从左上角(1,1)走到右下角(2,n)&#xff0c;每一步只能向右或向下移动&#x…

电脑开机一段时间就断网,只有重启才能恢复网络(就算插网线都不行),本篇文章直接解决,不要再看别人的垃圾方法啦

下面的是我解决问题的心路历程&#xff0c;不想看的可以直接跳到解决方法上面&#xff01; 内心思路&#xff1a; w11电脑更新过系统后&#xff0c;我的电脑是常年不关机的&#xff0c;但是一天突然断网&#xff0c;试了很多方法都连不上&#xff0c;重启电脑就会好&#xff0…

Ubuntu部署ktransformers

准备工作 一台服务器 CPU&#xff1a;500G GPU&#xff1a;48G&#xff08;NVIDIA4090&#xff09; 系统&#xff1a;Ubuntu20.04&#xff08;github的文档好像用的是22.04&#xff09; 第一步&#xff1a;下载权重文件 1.下载hfd wget https://hf-mirror.com/hfd/hfd.s…

【Elasticsearch】同一台服务器部署集群

【Elasticsearch】同一台服务器部署集群 1. 同一台服务器搭建ES集群2. 配置不同的node节点3. ES集群中安装IK分词器4. 启动es集群5. Kibana访问集群6. es-head7. 集群中创建索引7.1 什么是分片以及分片的好处7.2 副本&#xff08;Replication&#xff09;7.3 通过es-head创建索…

1-1 VS Code+Keil5+STM32CubeMX开发环境搭建

1.0 卸载相关程序 使用这个方式安装工具&#xff0c;先将原先下载安装的软件去掉&#xff0c;然后再安装新的软件&#xff0c;这个卸载过程需要将原来的工具干净的卸载掉&#xff0c;使用专门的卸载工具&#xff0c;将注册表等文件也全部删除掉。 对于STM32CubeMX还要删除&…

C# 从基础神经元到实现在0~9数字识别

训练图片:mnist160 测试结果:1000次训练学习率为0.1时,准确率在60%以上 学习的图片越多&#xff0c;训练的时候越长(比如把 epochs*10 10000或更高时)效果越好 using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System.Windo…

【算法与数据结构】单调队列

目录 单调队列 使用单调队列维护滑动窗口 具体过程&#xff1a; 代码实现&#xff1a; 复杂度分析&#xff1a; 使用单调队列优化动态规划 例题 单调队列 单调队列(deque)是一种特殊的队列&#xff0c;队列中的元素始终按严格递增或者递减排列。这样就可以保证队头元素…

矩阵的扩展运算(MATLAB和pytorch实例)

秩&#xff08;Rank&#xff09;的定义 秩的计算 初等行变换法&#xff08;最常用&#xff09;行列式法&#xff08;仅适用于方阵&#xff09; 满秩的分类方阵的满秩非方阵的满秩几何意义应用场景判断方法 矩阵的特征值 定义求解特征值 特征方程步骤 关键性质 迹与行列式相似矩…

python面试题整理

Python 如何处理异常&#xff1f; Python中&#xff0c;使用try 和 except 关键字来捕获和处理异常 try 块中放置可能会引发异常的代码&#xff0c;然后在except块中处理这些异常。 能补充一下finally的作用吗&#xff1f; finally 块中的代码无论是否发生异常都会执行&#xf…

linux之perf(17)PMU事件采集脚本

Linux之perf(17)PMU事件采集脚本 Author: Once Day Date: 2025年2月22日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文章可参考专栏: Perf性能分析_Once_day的博…

Java数据结构-排序

目录 一.本文关注焦点 二.七大排序分析及相关实现 1.冒泡排序 2.简单选择排序 3.直接插入排序 4.希尔排序 5.堆排序 ​编辑 6.归并排序 7.快速排序 一.本文关注焦点 各种排序的代码实现及各自的时间空间复杂度分析及稳定性。 时间复杂度&#xff1a;在比较排序中主…

改进收敛因子和比例权重的灰狼优化算法【期刊论文完美复现】(Matlab代码实现)

2 灰狼优化算法 2.1 基本灰狼优化算法 灰狼优化算法是一种模拟灰狼捕猎自然群体行为的社会启发式优化算法&#xff0c;属于一种新型的群体智能优化算法。灰狼优化算法具有高度的灵活性&#xff0c;是当前较为流行的优化算法之一。灰狼优化算法主要分为三个阶段&#xff1a;追…

创建Linux虚拟环境并远程连接

目录 下载VMware软件 下载CentOS 创建虚拟环境 远程连接Linux系统 下载VMware软件 不会的可以参考 传送门 下载CentOS 不会的可以参考 传送门 创建虚拟环境 打开VMware软件&#xff0c;创建虚拟机 选择典型安装 找到我们安装好的centOS文件&#xff0c;之后会自动检…

汽车智能制造企业数字化转型SAP解决方案总结

一、项目实施概述 项目阶段划分&#xff1a; 蓝图设计阶段主数据管理方案各模块蓝图设计方案下一阶段工作计划 关键里程碑&#xff1a; 2022年6月6日&#xff1a;项目启动会2022年12月1日&#xff1a;系统上线 二、总体目标 通过SAP实施&#xff0c;构建研产供销协同、业财一…

《Head First设计模式》读书笔记 —— 命令模式

文章目录 本节用例餐厅类比点餐流程角色与职责从餐厅到命令模式 命令模式第一个命令对象实现命令接口实现一个命令 使用命令对象NoCommand与空对象 定义命令模式支持撤销功能使用状态实现撤销多层次撤销 One One One …… more things宏命令使用宏命令 队列请求日志请求 总结 《…

基于YOLO11深度学习的运动鞋品牌检测与识别系统【python源码+Pyqt5界面+数据集+训练代码】

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…