问题描述
我创建了一个共享的 Google 电子表格,上面有两个分配给功能的按钮。一个按钮供一个人点击,另一个供另一个人点击。
每个按钮都会触发一个单独的宏,它将以增量方式更新相同的数据。两个宏不要同时运行很重要,因为这会导致数据变得混乱。
如果两个人同时点击他们的按钮,是否有两个功能同时运行或自动排队的风险?有没有办法强制他们排队?
如果有三个或更多带有三个或更多宏的按钮怎么办?如果同时点击它们会自动排队吗?
请注意,我不想不得不为用户创建“忙,再试一次”消息,我希望用户看不到任何排队过程。
解决方法
如果两个或多个用户同时点击一个分配了 Google Apps 脚本功能的按钮,则会为他们每个人创建一个执行,他们可能会“冲突”。这取决于这些函数的作用。
为了防止这种情况,您可以使用锁定服务。
相关
- Is there any way to guarantee order of execution? Or is there any way to cancel currently executing scripts?
- How to understand LockService and implement it correctly?
注意:在 Google 表格中,宏是一种特殊类型的电子表格自动化。它们是通过使用宏记录器创建的,将 Google Apps 脚本函数作为宏导入。