[心得] 用 Go 語言實作 Job Queue 機制

作者: appleboy46 (小惡魔)   2019-10-23 09:46:31
在本版吸收大家的經驗跟知識,小弟感激不盡,這次來介紹『用 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
作者: ruthertw (小葉老大)   2019-10-23 09:48:00
推!
作者: robler (章魚丸)   2019-10-23 10:20:00
這應該算是商業廣告吧
作者: joekaojoekao (bingroom)   2019-10-23 10:36:00
推高手~
作者: G4 (國王 <( ̄︶ ̄)>)   2019-10-23 11:48:00
怎麼好像在Backend論壇看過相同題目的介紹XD
作者: appleboy46 (小惡魔)   2019-10-23 12:28:00
樓上 那就是我 XD
作者: gofigure (平行世界)   2019-10-23 12:32:00
這一位已經不是第一次這樣偷渡商業文了
作者: anr2 (???)   2019-10-23 14:19:00
我只想問一個問題 如果沒有go 你要怎麼做job queue ?
作者: appleboy46 (小惡魔)   2019-10-23 14:36:00
自幹或用開源服務Node.JS: https://zhuanlan.zhihu.com/p/38393122
作者: x246libra (楓)   2019-10-23 18:55:00
覺得廣告還好,有提供做法,有投影片,稍微懂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
作者: appleboy46 (小惡魔)   2019-10-23 22:10:00
大家和平討論 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不一定對...是說你看過哪個套件還是軟體一次做對不用調整的?
作者: appleboy46 (小惡魔)   2019-10-24 13:22:00
只能跪求 @anr2 大大分享 『influxdb 記憶體』相關經驗以及該注意的地方?
作者: ggttoo44 (thai)   2019-10-25 01:14:00
目前用 golang 的心得是都在做 nodejs 底層已經做好的事情,模仿 nodejs 的機制,goroutine 不需要 host 導致leak 很容易,需要自己手動回收,很多 pool 等等機制就是在處理 nodejs 已經幫忙處理好的事情

Links booklink

Contact Us: admin [ a t ] ucptt.com