[英]How do I add delay to every function I trigger at the same time?
我需要在早上 8 點運行 3 function,以便我的電報機器人可以發送我需要發送的所有消息,但是由於電報機器人(反垃圾郵件)的限制,它向我發送了這個錯誤:
Exception: Request failed for https://api.telegram.org returned code 429. Truncated server response: {"ok":false,"error_code":429,"description":"Too Many Requests: retry after 36","parameters":{"retry_after":36}} (use muteHttpExceptions option to examine full response)
因此,有人說我應該添加一些延遲,但我不知道如何。
這是我的代碼
function function_Triggered() {
FunctionOne(), FunctionTwo(), FunctionThree()
deleteTriggers();
scheduledTrigger(8.00);
}
function scheduledTrigger(hours, minutes){
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth();
var day = now.getDate();
pars = [year,month,day,hours,minutes];
var scheduled_D = new Date(...pars);
var hours_remain = Math.abs(scheduled_D - now) / 36e5;
ScriptApp.newTrigger(function_Triggered)
.timeBased()
.after(hours_remain * 60 * 60 * 1000)
.create()
}
function deleteTriggers(){
var triggers = ScriptApp.getProjectTriggers();
for (var i = 0; i<triggers.length; i++) {
if( triggers[i].getHandlerFunction()== function_Triggered) {
ScriptApp.deleteTrigger(triggers[i]);
}
}
}
有人可以幫我在哪里以及如何延遲嗎? 我希望它們在每個功能延遲 5 分鍾的情況下自行運行。
您可以單獨觸發永遠 function 或使用setTimeout
。
function function_Triggered() {
setTimeout(FunctionOne, 0);
setTimeout(FunctionTwo, 1000 * 60 * 5);
setTimeout(FunctionThree, 1000 * 60 * 5 * 2);
deleteTriggers();
scheduledTrigger(8.00);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.