基于go语言的定时脚本任务.zip
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
基于go语言的定时脚本任务.zip 示例代码 package xz_crontab import ( "context" "log" "testing" "time" ) func Test_crontab(t *testing.T) { jobs := []Job{ { Name: "test", Par: "1", //CronExpr: "45 59 23 * * * *", // 23 点 59分 45 秒 CronExpr: "*/5 * * * * * *", // 5s执行一次 IsOpen: false, // true 开启脚本 false 关闭脚本 Callback: callback, // 设置你调用的函数 }, { Name: "test2", Par: "1", //CronExpr: "45 59 23 * * * *", // 23 点 59分 45 秒 CronExpr: "*/11 * * * * * *", // 5s执行一次 IsOpen: false, // true 开启脚本 false 关闭脚本 Callback: callback, // 设置你调用的函数 }, { Name: "test3", Par: "1", IsOpen: true, // true 开启脚本 false 关闭脚本 Callback: OnceTest2, // 设置你调用的函数 Once: true, // 只执行一次 }, } model := InitCrontab(jobs) go func() { for { select { case timeDate := <-model.NextChGet(): log.Println("下次执行时间", timeDate) } } }() time.Sleep(20*time.Second) model.Stop() select { } } func OnceTest(par ...interface{})(err error) { log.Println("只执行一次") return nil } func OnceTest2(par ...interface{})(err error) { res := par[2].(context.Context) for{ select { case <-res.Done(): log.Println("停止了!") return default: log.Println("只执行一次") time.Sleep(time.Second) } } return } func callback(par ...interface{})(err error ) { log.Println("回调参数",par[0],par[1]) time.Sleep(6*time.Second) return }
- 1
- 粉丝: 3136
- 资源: 1872
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- WS2-32.lib,在编译程序中可以链接使用
- 秒懂傅里叶变换matlab程序实现过程
- ZEND解密dezender12
- sony 索尼IMX334摄像头模组电路板AD版硬件PCB图(6层板).zip
- 基于flask和echarts融合交易策略的bitfinex可视化微服务.zip
- 包含了wvp-assist.tar wvp-talk.tar zlmediakit.tar .
- 3r4efgh53wgrf43tw
- 2024新版Java基础从入门到精通全套视频+资料下载
- Spring AI大模型视频教程+ChatGPT视频教程+OpenAI大模型视频教程(资料+视频教程)
- ABB工业机器人教程PDF版本