实现了一个golang周期任务调度包
来源:互联网 发布:好看的悬疑电影知乎 编辑:程序博客网 时间:2024/04/27 17:53
drumstick
Implement crond by Golang
https://github.com/openex27/drumstick
鼓槌(鸡腿),golang定时任务包
功能特性:
- 1.提供时间补偿机制,避免周期任务调度中时间损耗累计导致的长期使用后产生任务滞后现象
- 2.参数可传入自定义函数, 和变长自定义参数
- 3.未完待续…
方法:
- NewTask(time.Duration, function, …param) (*Task, error)
- 创建任务对象,当周期时间小于等于0时返回错误,否则返回nil
- task, err := drumstick.NewTask(2*time.Second, func1, “hello”, 1 ,2)
- (*Task) Start()
- 启动任务
- task.Start()
- (*Task) Stop()
- 停止任务继续生产,即已经启动的任务不会被结束,而是关闭他的调度器不再生产新任务
- task.Stop()
- (*Task) Reset(time.Duration)
- 更新指定任务的周期时间
- task.Reset(1*time.Second)
示例:
package mainimport ( "fmt" "time" drum "github.com/openex27/drumstick")func sumEcho(s string, a, b int) { fmt.Printf("%s -> %d\n", s, a+b)}func main() { task, err := drum.NewTask(2*time.Second, sumEcho, "hello", 1, 5) if err != nil { panic(err) } task.Start() time.Sleep(5 * time.Second) task.Reset(1 * time.Second) time.Sleep(5 * time.Second) task.Stop() time.Sleep(1 * time.Second)}
阅读全文
0 0
- 实现了一个golang周期任务调度包
- golang 实现一种环形队列,及周期任务
- 一个备份任务分发的Golang实现原型
- Django + Celery 实现周期任务
- 一个任务调度问题
- java 实现任务调度
- Quartz实现任务调度
- quartz实现任务调度
- Quartz实现任务调度
- java周期调度几种实现
- 任务调度quartz(二)一个简单的调度平台的实现
- 关于springBoot实现动态Task任务周期
- 用户态实现线程调度(任务调度)
- 用ZMQ实现任务调度
- quartz实现定时任务调度
- JAVA实现定时调度任务
- 分布式任务调度实现方式
- quartz定时器任务调度实现
- Nginx服务器配置文件nginx.conf实例详解
- 进击的KFC:链式编程
- Nginx遇到无法创建或打开nginx.pid的解决方法
- angular+自定义模糊查询+排序+三角
- 《大话设计模式》小结
- 实现了一个golang周期任务调度包
- Android---DrawerLayout简单使用
- 移动端屏幕适配dp dpi 720P values-sw480dp layout-sw720dp
- epoll详解
- 这样作出弧的中点,瞬间轻松不少
- JAVA中IO筛选信息
- vue2.0中Ajax库(axios)
- MVC Razor视图引擎
- 激活函数