在本版吸收大家的經驗跟知識,小弟感激不盡,這次來介紹『用 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 已經幫忙處理好的事情