Concurrency 什么';公钥的作用域是什么?函数、文件还是项目?

Concurrency 什么';公钥的作用域是什么?函数、文件还是项目?,concurrency,google-apps-script,Concurrency,Google Apps Script,我有一个谷歌应用程序脚本项目(在谷歌网站上)。那个项目有一个文件。该文件包含functionA和functionB。functionA操作一组文件,functionB操作一组完全不同的文件。为了防止并发修改,每个函数都使用锁服务来获取自己的公钥。每个功能每1分钟被触发运行一次 我发现FunctionA无法获得锁,而FunctionB拥有锁 我的问题是,这是预期的吗?如果是,a)文档参考是什么,b)我如何设计我的系统,使functionA和functionB实际上可以同时运行?我是否需要将函数向上

我有一个谷歌应用程序脚本项目(在谷歌网站上)。那个项目有一个文件。该文件包含functionA和functionB。functionA操作一组文件,functionB操作一组完全不同的文件。为了防止并发修改,每个函数都使用锁服务来获取自己的公钥。每个功能每1分钟被触发运行一次

我发现FunctionA无法获得锁,而FunctionB拥有锁

我的问题是,这是预期的吗?如果是,a)文档参考是什么,b)我如何设计我的系统,使functionA和functionB实际上可以同时运行?我是否需要将函数向上移动到单独的文件中,甚至移动到不同的项目中

我对锁定函数的目标是停止函数的多个并发运行。与函数B类似。我不在乎functionA是否与functionB同时运行。事实上,我希望它们同时运行,以便从用户的角度来看事情能够快速运行

我读过,但它非常有限——它只是说锁的范围是“一段代码”或“一段代码”。

它是“每个项目”。不幸的是,同一个脚本不能有两个锁(除非它是不同的用户,并且您得到了一个私有锁,这不是您的情况)

a) 我不是API设计师(我是一个顶级贡献者),但我很确定这是设计的。由于资源的限制,他们可能会以这种方式进行限制

b) 因此,您必须创建不同的脚本/项目以拥有不同的锁