編譯驅動
第一步、將程式碼移植到官方驅動,使用 CGO_ENABLED=0 編譯成靜態連結版本。

第二步、新增開機腳本,輸入交易所類型與資料庫位址與啟動背景執行指令。
cp /opt/bootlocal.sh /var/lib/boot2docker/bootlocal.sh
vi /var/lib/boot2docker/bootlocal.sh
nohup /var/lib/boot2docker/mdbgo/mdbgo T 0.0.0.0 27017 &> /var/lib/boot2docker/mdbgo/mdbgo.log &
交易所類型 | T | G |
交易所名稱 | 台灣證交所 台灣期交所 | 國外交易所 |
分線計算時間 | 每分鐘間隔 20 秒 | 每分鐘間隔 20 秒 |
分線歸線區間 | 00 ~ 59 | 00 ~ 59 |
日線計算時間 | 13:30:00 ( TAISE ) 13:45:00 ( TAIFEX ) | 每隔一小時 ( UTC + 00:00 ) |
日線歸線區間 | 09:00:00 ~ 13:30:00 ( TAISE ) 15:00:00 ~ 13:45:00 ( TAIFEX ) | 00:00:00 ~ 23:59:59 |
環境配置
第一步、設定最大開啟文件數量,避免協程超過數量導致併發失敗。
sudo vi /var/lib/boot2docker/profile
#!/bin/sh
ulimit -n 4096
source /var/lib/boot2docker/profile
第二步、輸入 ulimit -a 查看 open files 有沒有生效。

安裝執行
第一步、新增資料庫伺服器存放目錄,上傳後記得修改執行權限。
mkdir /var/lib/boot2docker/mdbgo/
chmod +x mdbgo
第二步、手動執行開機腳本,順便觀察 CPU 併發使用率。
sh /var/lib/boot2docker/bootlocal.sh

第三步、查看輸出日誌有沒有發生錯誤。
tail -f mdbgo.log

第三步、回到 Robo 3T 客戶端,開啟 MDBGO 資料庫比對 DateTime 欄位與最後一筆 Tick 回寫時間。

測試影片