百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
W

work

> 编程语言
开源

在 Go 中处理后台作业

2.5K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

在 Go 中处理后台作业

gocraft/work() (https://godoc.org/github.com/gocraft/work) gocraft/work 允许您在 Go 中排队和处理后台作业。作业是持久的,由 Redis 提供支持。与 Sidekiq for Go 非常相似。

  • 速度快、效率高。比 这个、这个 和 这个 都要快。请参阅下面的基准测试。

要队列化作业,您需要创建一个具有 Redis 命名空间和 redigo 池的 Enqueuer。每个队列化的作业都有一个名称,并且可以接受可选的参数。参数是 k/v 对(内部以 JSON 格式序列化)。

Redis 集群 如果您尝试在 Redis 集群 部署中使用 gocraft/work,则在执行用于管理作业数据的各个 lua 脚本时,可能会遇到 CROSSSLOT 请求中的密钥没有哈希到相同的槽 错误(请参阅 问题 93。当前的解决方案是,使用 Redis 哈希标签 在集群中单个节点上的特定工作池中强制对整个 命名空间 的密钥进行哈希。使用上述示例:

go
func main() {
	// 创建一个新的池。参数:
	// Context{} 是一个结构体,将作为请求的上下文。
	// 10 是最大并发数
	// "my_app_namespace" 是 Redis 命名空间,{} 字符强制所有键放在同一个节点上
	// redisPool 是一个 Redis 池

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Go

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言