作者appleboy46 (小惡魔)
看板Soft_Job
標題[心得] 用 Go 語言實作 Job Queue 機制
時間Wed Oct 23 09:46:31 2019
在本版吸收大家的經驗跟知識,小弟感激不盡,這次來介紹『用 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
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 3.0.67.238 (新加坡)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1571795206.A.270.html
1F:推 ruthertw: 推! 10/23 09:48
2F:→ robler: 這應該算是商業廣告吧 10/23 10:20
3F:推 joekaojoekao: 推高手~ 10/23 10:36
4F:推 G4: 怎麼好像在Backend論壇看過相同題目的介紹XD 10/23 11:48
5F:→ appleboy46: 樓上 那就是我 XD 10/23 12:28
6F:推 gofigure: 這一位已經不是第一次這樣偷渡商業文了 10/23 12:32
7F:推 gofigure: 所有心得的文章就只有他跟別人不同 10/23 12:59
移除有爭議商業連結
※ 編輯: appleboy46 (3.0.67.238 新加坡), 10/23/2019 13:39:11
8F:推 anr2: 我只想問一個問題 如果沒有go 你要怎麼做job queue ? 10/23 14:19
9F:→ appleboy46: 自幹或用開源服務 10/23 14:36
11F:推 x246libra: 覺得廣告還好,有提供做法,有投影片,稍微懂go就看到 10/23 18:55
12F:→ x246libra: 的懂,有分享給推,標題都說用go了,為什麼要質疑不用g 10/23 18:55
13F:→ x246libra: o要怎麼做,各位反應太大吧 10/23 18:55
14F:推 x246libra: 那我是否可以說,不用py要怎麼做資料分析,該語言特性 10/23 18:57
15F:→ x246libra: 做特定功能就方便啊,為什麼不用 10/23 18:57
16F:→ anr2: 為什麼不能質疑?? 10/23 20:01
17F:→ anr2: 原po又不一定是對的,想知道萬一沒工具怎麼做JQ,是你反應 10/23 20:04
18F:→ anr2: 太大吧 10/23 20:04
19F:→ anr2: 而且go還是有memory leak的可能性,至少我遇到很多次influx 10/23 20:05
20F:→ anr2: db記憶體放不掉 10/23 20:05
21F:→ anr2: 連問都不能,是有多玻璃心 10/23 20:05
22F:推 sharku: 幫回樓上問題, 用 Rust + tokio 10/23 20:50
23F:→ appleboy46: 大家和平討論 XD 其實我也想知道有無其他方式可以做 10/23 22:10
24F:→ appleboy46: 如果要再選另一個語言,我個人會選 Rust XD 10/23 22:11
25F:→ touurtn: 對不對跟質疑別人不用go的關係是? 10/24 12:23
26F:推 eve1012: 推大神心得 10/24 12:26
27F:推 q26766: 標題就寫go 還要進來嫌 那招啊 10/24 12:33
28F:推 alog: 如果你真的有心要問記憶體洩漏的問題 不就只要問這樣的jq設 10/24 12:38
29F:→ alog: 計是否可能有記憶體洩漏的問題 10/24 12:38
30F:推 alog: 若要講 原po不一定對...是說你看過哪個套件還是軟體一次做 10/24 12:41
31F:→ alog: 對不用調整的? 10/24 12:41
32F:→ appleboy46: 只能跪求 @anr2 大大分享 『influxdb 記憶體』相關 10/24 13:22
33F:→ appleboy46: 經驗以及該注意的地方? 10/24 13:23
34F:推 ggttoo44: 目前用 golang 的心得是都在做 nodejs 底層已經做好的 10/25 01:14
35F:→ ggttoo44: 事情,模仿 nodejs 的機制,goroutine 不需要 host 導致 10/25 01:14
36F:→ ggttoo44: leak 很容易,需要自己手動回收,很多 pool 等等機制就 10/25 01:14
37F:→ ggttoo44: 是在處理 nodejs 已經幫忙處理好的事情 10/25 01:14