我有一个 Google Apps 脚本项目(在 Google 站点中)。该项目有一个文件。该文件包含函数A 和函数B。functionA 对一组文件进行操作,而 functionB 对一组完全不同的文件进行操作。为了防止并发修改,每个函数都使用 Lock 服务来获取它自己的公共锁。每个函数每 1 分钟触发一次。
我发现 FunctionA 似乎无法获得锁,而 FunctionB 有锁。
我的问题是,这是预期的吗?如果是这样 a) 什么是文档参考和 b) 我如何设计我的系统以便 functionA 和 functionB 实际上可以同时运行?我是否需要将功能向上移动到单独的文件甚至不同的项目中?
我锁定 functionA 的目标是停止 functionA 的多个并发运行。与函数 B 类似。我不在乎functionA是否与functionB同时运行。事实上,我希望它们同时运行,以便从用户的角度认为事情运行得很快。
我已经阅读了 LockService 文档,但它非常有限——它只是说锁的范围是“一段代码”或“一段代码”。