週一趕上了 COSCUP 第一期電子報 發送內容,這陣子一直在實作 Go web application,希望為一個簡單的發報系統,但包含開信、點擊追蹤。目前很簡陋的完成發信系統,也在這次的 COSCUP 第一期電子報實際使用。 關於電子報發送的流程是這樣的,首先需要電子報的樣板(template)、發送對象的清單(CSV)在後台操作的時候會將樣板上傳到 S3 存放、清單的部分會變成一個個 queue message 放到 SQS 。而發送的部分則是執行一個叫做 mailman 的 worker 去取 SQS 的 message 下來與 template 內容結合為信件內容後發送出去。通常這種大量發送什麼的一定會配合 go 的 goroutine ,所以在取 queue、Send mail 的部分就這樣處理。 最後就是與 Docker 結合, worker 在設計的時候要考慮到 config 的問題,一定不能寫死,要保持非常彈性的狀態,這樣再配合 docker-compose scale 的時候就可以很自由的增減 worker 發送。其實 config 的部分有想到可以透過類似 API 的方式去詢問 webserver 目前的設定值,有點像是 AWS EC2 的 Meta-Data 一樣。 實作的內容這幾天有補上 README 內容,說明一下目前的進度與目標。 其實我有好一陣子沒寫 Python ,但希望只是單純的因為目前一直在練習 Go 的關係,所以沒什麼機會去寫,多學一個語言後會發現有些事情或處理方式和語言沒什麼關係,既然沒什麼關係的話,如果開發速度差不多的狀態下,當然會傾向效能比較好的語言,現在看起來還滿多專案或是 startup 都轉向用 Go ...... 另外週五台北放颱風假,相對的證交所就沒有交易,之前在寫 gogrs 的時候有為是否開休市的問題寫一個簡單的 API ,放入要查詢的時間回傳開休市結果。通常一年的預定的放假、補上班日證交所都會公告,但是遇到颱風這種臨時公告的事件就需要一個額外的服務來同步修正,其實現在也還是人工的更新放假、補上班的 表 ,但這次是第一次完成更新。另外也把這服務申請一張 SSL 憑證,因為看到 Google Bot 來爬東西。 這禮拜三陸股暴跌,台灣股市也跌了快三百點,我