Workq 介绍
Workq 是一个用 Go 开发的作业调度服务器。主要特性:
-
异步和同步的作业处理
-
提交作业,然后在作业完成后返回结果,最多等待 TTL
-
提交作业并马上获得执行结果
-
-
在任意时间临时安排作业调度
-
使用数值表示作业优先级
-
可以制定每个作业的 TTR (time-to-run) - 限制最大执行时间
-
可以制定每个作业的 TTL 超时 - 限制作业最大存活时间
-
每个作业可单独设置重试策略,包括 max-attempts 和 max-fails 参数
示例代码:
job := &workq.FgJob{ ID: "6ba7b810-9dad-11d1-80b4-00c04fd430c4", Name: "ping", TTR: 5000, // 5 second time-to-run limit Timeout: 60000, // Wait up to 60 seconds for a worker to pick up. Payload: []byte("ping"), Priority: 10, // @OPTIONAL Numeric priority, default 0. } result, err := client.Run(job) if err != nil { // ... } fmt.Printf("Success: %t, Result: %s", result.Success, result.Result)
Workq 官网
https://github.com/iamduo/workq
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。