使用Postman做排程任務
這幾天遇到的一個問題
某隻API在半夜被呼叫時
回應時間特別長
導致被系統判定timeout失敗
但是白天上班時間時
不管怎麼打
都在兩秒以內就回應200 OK
這支API商業邏輯複雜
牽涉了數十個其他服務
又因為是老專案了
如果要加上Tracing做鏈路追蹤
真的是曠日廢時
且不符成本
只好還是搬出埋Log大法
在每個呼叫API或是DB Query間穿插Log
用Log去夾出是哪一段慢
當我隔天到公司
喜孜孜地準備來收網抓兇手時
才發現一條Log都沒有
因為沒有使用者去觸發
傻眼
這時候同事說可以弄個排程
把API參數準備好
在半夜的時候模擬使用者呼叫
C#的排程
一般都是用Hangfire
或是windows排程器實作
但為了查log去起一個站台
未免小題大作
此時就想到了好朋友Postman
用間隔的方式
每四個小時去打一次API
正當我要打開小算盤
算四小時到底幾毫秒的時候
突然瞄到Postman就有內建排程
還有圖形化介面
著實讓我大吃一驚
具體操作如下
先建立一個collection和request
接著按下run collection
這邊選擇schedule runs
然後選擇排程的時間
按下確認後
就會開始排定
完成後
還有精美的UI圖表
告訴你耗費的時間
也可以為request加入測試
確認API是正常的回應
多虧了這個功能
才不用寫一大堆code
或是用windows排程器
最後也順利從log查出緩慢的API
原因是IIS站台休眠了
將idle時間調整為0就解決了
如果有這種暫時性的排程
用Postman是個不錯的選擇
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Frank's Talk!