除其他事项外,我具有以下四个功能。
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]); } } }
用例示例:
除其他事项外,我具有以下四个功能。 fallback()newSubmission()installSubmissionTrigger()uninstallSubmissionTrigger()我有一个触发器:在表单提交时运行。电话...
已经报告了您遇到的这个问题,它与V8运行时有关[1]。您可以使用按预期方式运行的DEPRECATED_ES5
运行时版本。