我設置了一個自定義斜槓命令來將數據存儲到Google Spreadsheet中。一切正常完美(腳本被觸發並且執行它的魔法),除了響應需要太長時間(超過給定的最大值3000ms)並且Slack會給我一個timeout
錯誤。Google命令返回超時錯誤的Slack命令
簡化谷歌腳本:
function doPost(request) {
//// get data from slack payload
var params = request.parameters;
//// call a function with given parameters
custom_function(params);
////
var output = {"text":"SUCCESS"};
//// respond to slacks POST request
return ContentService.createTextOutput(JSON.stringify(output)).setMimeType(ContentService.MimeType.JSON);
}
結果: 由於對custom_function();
長執行時間結束return ContentService. ...
來得太晚(過去3000ms時限)=在農閒
timeout
錯誤附加信息:我設置了延遲響應UrlFetchApp.fetch(url,options);
的代碼custom_function();
- 我正在接收Slack中的響應以及超時錯誤。
問題:有什麼辦法可以不必等到custom_function();
完成後立即發送一些HTTP 200 OK
?在我的情況下,doPost();
不需要任何從custom_function
返回到完成,所以爲什麼要等待...?
謝謝!
所以後腳本設置觸發,完成代碼和x毫秒後,我的custom_function被觸發?沒想到它那麼簡單:D ......現在就試試吧!謝謝 ! –
因此,設置觸發器就像一個魅力,它實際上觸發該功能。唯一的事情是:我將如何將從Slack接收的給定參數傳遞給該函數?用'Class PropertiesService'? –
謝謝@Spencer Easton!現在它像A +一樣工作!在將所有值存儲到PropertyService時,我需要使用'JSON.stringify'和'JSON.parse',但是嘿...它工作:) –