在本版吸收大家的经验跟知识,小弟感激不尽,这次来介绍‘用 Go 语言实作 Job
Queue 机制’,用简单的 Channel + Goroutine 来实现简单的 Job Queue,底下是投影
片大纲:
1. what is the different unbuffered and buffered channel?
2. how to implement a job queue in golang?
3. how to stop the worker in a container?
4. Shutdown with Sigterm Handling
5. Canceling Workers without Context
6. Graceful shutdown with worker
7. How to auto-scaling build agent?
8. How to cancel the current Job
里面讲了很多实作细节,后续会将上面的细节录制成影片,放在 Udemy 或 Youtube 上面
。
部落格: https://blog.wu-boy.com/2019/10/job-queue-in-golang/
投影片: https://www.slideshare.net/appleboy/job-queue-in-golang-184064840
Youtube 影片: https://www.youtube.com/channel/UCLCZJ9d_I7UJP2bpXpge8KA
作者:
robler (章鱼丸)
2019-10-23 10:20:00这应该算是商业广告吧
作者: G4 (国王 <( ̄︶ ̄)>) 2019-10-23 11:48:00
怎么好像在Backend论坛看过相同题目的介绍XD
作者:
anr2 (???)
2019-10-23 14:19:00我只想问一个问题 如果没有go 你要怎么做job queue ?
觉得广告还好,有提供做法,有投影片,稍微懂go就看到的懂,有分享给推,标题都说用go了,为什么要质疑不用go要怎么做,各位反应太大吧那我是否可以说,不用py要怎么做资料分析,该语言特性做特定功能就方便啊,为什么不用
作者:
anr2 (???)
2019-10-23 20:01:00为什么不能质疑??原po又不一定是对的,想知道万一没工具怎么做JQ,是你反应太大吧而且go还是有memory leak的可能性,至少我遇到很多次influxdb内存放不掉连问都不能,是有多玻璃心
作者:
sharku (明珠求瑕)
2019-10-23 20:50:00帮回楼上问题, 用 Rust + tokio
大家和平讨论 XD 其实我也想知道有无其他方式可以做如果要再选另一个语言,我个人会选 Rust XD
作者:
touurtn (vv)
2019-10-24 12:23:00对不对跟质疑别人不用go的关系是?
作者:
eve1012 (lian)
2019-10-24 12:26:00推大神心得
作者:
q26766 (cancan)
2019-10-24 12:33:00标题就写go 还要进来嫌 那招啊
作者:
alog (A肉哥)
2019-10-24 12:38:00如果你真的有心要问内存泄漏的问题 不就只要问这样的jq设计是否可能有内存泄漏的问题若要讲 原po不一定对...是说你看过哪个套件还是软件一次做对不用调整的?
只能跪求 @anr2 大大分享 ‘influxdb 内存’相关经验以及该注意的地方?
目前用 golang 的心得是都在做 nodejs 底层已经做好的事情,模仿 nodejs 的机制,goroutine 不需要 host 导致leak 很容易,需要自己手动回收,很多 pool 等等机制就是在处理 nodejs 已经帮忙处理好的事情