YTask 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
YTask 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议 GPL-3.0
开发语言 Google Go 查看源码 »
操作系统 跨平台
软件类型 开源软件
开发厂商
地区 国产
提 交 者 五十风
适用人群 未知
收录时间 2019-09-03

软件简介

YTask 是 Go 的异步任务队列,比起其他框架更方便快捷。

架构图:

architecture_diagram

特性:

  • 支持几乎所有类型,包括基本类型(int, floalt, string),数组切片,结构体以及复杂的结构体嵌套。
  • 注册任务,调用任务一行代码完成,不需要对参数进行而外处理。
  • 优雅的启动与结束方式,能1秒结束任务(如果你用过其他的框架(比如gocelery,machinery)会发现就算没有任务,他们也没法立即结束任务,而是需要等几秒)

安装

go get github.com/gojuukaze/YTask/v2

注册任务

type User struct{
    ...
}
// 任务函数
func DemoFunc(a int, b float64, c []string, user User) (int, []User, string) {
    ....
    return ....
}

...

ser.Add("group1", "demo_func", DemoFunc)

调用任务

taskId, _ = client.Send("group1", "demo_func", 11, 22.2, []string{"bb", "cc"}, User{"hh",24})

获取结果

result, _ = client.GetResult(taskId, 2*time.Second, 300*time.Millisecond)
var a int
var b []User
var c string
a, _ = result.GetInt64(0)
// or
result.Get(1,&b)
// or
result.Gets(&a, &b, &c)
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
发表于软件架构专区
07/14 09:53

YTask V2.2.0 发布,Go 语言异步任务框架

V2.2.0 新增特性: 运行多个group 支持延时任务 YTask 是一个golang异步任务/队列 框架,具有下列特点: 简单无侵入 方便扩展broker,backend 支持所有能被序列化为json的类型 支持任务重试,延时任务 相关链接 中文文档 En Doc Github 架构图

1
27
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于服务端专区
2019/09/04 15:03

消息队列(kafka/nsq等)与任务队列(celery/ytask等)到底有什么不同?

原文链接:https://www.ikaze.cn/article/43 写这篇博文的起因是,我在论坛宣传我开源的新项目YTask(go语言异步任务队列)时,有小伙伴在下面回了一句“为什么不用nsq?”。这使我想起,我在和同事介绍celery时同...

0
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
15 收藏
分享
返回顶部
顶部