Tha*_*kon 6 triggers v8 google-sheets google-apps-script
我有(除其他外)以下四个功能。
fallback()newSubmission()installSubmissionTrigger()uninstallSubmissionTrigger()我有一个触发器:
fallback()将某些内容发布到电子表格以供审核。fallback来电installSubmissionTrigger()。installSubmissionTrigger创建一个每分钟运行一次的基于时间的触发器。newSubmission().newSubmission做我想做的事情并打电话uninstallSubmissionTrigger()。uninstallSubmissionTrigger删除基于时间的触发器。所有这些使用 Rhino 都可以正常工作,但是当我启用 V8 时,基于时间的触发器在应该运行时会因未知原因而被禁用。
另外,当使用 V8 时,如果我installSubmissionTrigger()手动运行,触发器就会触发。
如果我fallback()手动运行,触发器也会触发。
触发器被禁用的未知原因可能是什么?
function fallback(event) {
...
installSubmissionTrigger();
...
}
function newSubmission() {
...
uninstallSubmissionTrigger();
...
}
function installSubmissionTrigger() {
var properties = PropertiesService.getScriptProperties();
if(!properties.getProperty("triggerID")) {
var trigger = ScriptApp.newTrigger('newSubmission').timeBased().everyMinutes(1).create();
properties.setProperty("triggerID", trigger.getUniqueId());
Logger.log("Creating newSubmission trigger: " + trigger.getUniqueId());
}
}
function uninstallSubmissionTrigger() {
var properties = PropertiesService.getScriptProperties();
properties.deleteProperty("triggerID");
// Loop over all triggers.
var allTriggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < allTriggers.length; i++) {
// If the current trigger is the correct one, delete it.
if (allTriggers[i].getHandlerFunction() === 'newSubmission') {
ScriptApp.deleteTrigger(allTriggers[i]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
用例示例:
您遇到的这个问题已被报告,它与 V8 运行时 [1] 有关。您可以使用DEPRECATED_ES5按预期工作的运行时版本。
[1] https://issuetracker.google.com/issues/150756612
| 归档时间: |
|
| 查看次数: |
1909 次 |
| 最近记录: |