我设置了一个自定义斜杠命令来将数据存储到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',但是嘿...它工作:) –