这是我在 stackoverflow 上的第一个问题。
\n背景: \n从对appendRow(rowContents)的参考中我了解到此操作是原子的,这意味着处理对工作表最后一行的并发访问并防止潜在的问题。
\n问题/意外行为: \n但是,我最近意识到,对于将行附加到同一工作表的函数的许多并发实例,最后一行会定期被来自 的新数据覆盖appendRow(rowContents),而不是rowContents作为新行附加到下面最后一排。
过去,我没有遇到appendRow()覆盖工作表上的内容的问题。这似乎是最近才出现的现象。然而,这是我的第一个 GAS 项目,有如此多的并发实例将其进度记录到同一个电子表格/工作表中。
要实现的目标: \n与并发实例的数量无关,脚本应该为每个appendRow() 操作追加一行,而不是覆盖前面的行。
\n重现问题的小样本:
\n我已经尝试过的:
\nappendRow()操作发送了一封电子邮件。我可以确认这按预期工作(每次appendRow()操作我都会收到一封电子邮件)appendRow()操作都会生成一个新行。一旦达到超时,appendRow()就开始再次覆盖最后一行。寻求帮助:
\n任何想法都受到高度赞赏!
\nconcurrency multithreading triggers google-sheets google-apps-script