timer - 安排一个函数每小时整点运行

标签 timer google-apps-script

所以我尝试每小时运行一个函数。此函数的要点是更新时间表以查看当前时间以及该时间点正在发生的事件。

我已经在小时计时器上设置了时间驱动的项目触发器,但是,它运行时似乎不一致,有时是每小时前 5 分钟,有时是每小时后 10 分钟。

我希望该函数在整点运行,有办法做到这一点吗?

最佳答案

这很有可能:您想要做的是在运行结束时设置下一次运行的触发器。

因此,您将手动运行该函数一次,并在最后插入以下代码段:

ScriptApp.newTrigger("FUNCTION HERE")
           .timeBased()
           .at(new Date(new Date().setHours(new Date().getHours()+1,0,0,0))
           .create();

但是,因为从某些方面来说,这是一个脆弱的触发器链(如果其中一个失败,它将不会在下一小时继续运行),因此您有几个选择。

我会创建一个每天运行的故障安全功能,并确保上述功能正常工作(如果没有,请再次启动链)。我还将这个函数中的其他内容包装在 try catch block 中(滚动到页面底部:无论如何,您都应该对所有函数执行此操作,始终)并将上述代码添加到其中,以便即使您的函数失败,它下次仍会运行(或将其放入函数的开头)。

关于timer - 安排一个函数每小时整点运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24768344/

相关文章:

python - uWSGI中的timer和rbtimer有什么区别?

java - 计时器 t = 新计时器(50,b); t.停止();不管用

javascript - 从一张谷歌工作表中获取值,将其输入到另一张带有 4 个循环的工作表上

javascript - 单元格悬停时的工具提示图像,Google 电子表格

javascript - 如何将行范围合并为 json 格式?

javascript - Google 电子表格提示中具有选择功能的单元格输入

c++ - 在计时器执行过程中使用 c++ KillTimer() 是否安全?

java - 我如何在一秒内实时获得蓝牙 RSSI 10 次,持续 10 秒

timer - 使用 Swift 3 停止预定定时器,即使定时器为零,定时器也会继续触发

google-apps-script - 二维子数组索引谷歌脚本