gpt4 book ai didi

google-apps-script - 为什么基于时间的 GAS 触发器在 V8 中因未知原因被禁用?

转载 作者:行者123 更新时间:2023-12-03 23:08:42 27 4
gpt4 key购买 nike

我有(除其他外)以下四个功能。

  • 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]);
    }
    }
    }

    用例示例:
  • 客户提交了新门的定价请求。
  • 然后,他们还提交了一份报价请求,要求延长他们的房屋。
  • 这扇门很可能是扩展的一部分,因此理想情况下,我们将此请求发送给处理房屋扩展和门的公司。
  • 但是,如果立即处理门请求,它可能已发送给专门处理门的专家。
  • 最佳答案

    您遇到的这个问题已被报告,它与 V8 运行时有关 [1]。您可以与 DEPRECATED_ES5 合作按预期工作的运行时版本。

    [1] https://issuetracker.google.com/issues/150756612

    关于google-apps-script - 为什么基于时间的 GAS 触发器在 V8 中因未知原因被禁用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60455263/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com