2012-05-03 3 views
1

Google Apps Script Project (Google 사이트)가 있습니다. 그 프로젝트는 File을 가지고 있습니다. 이 파일에는 functionA와 functionB가 들어 있습니다. functionA는 파일 세트에서 작동하고 functionB는 완전히 다른 파일 세트에서 작동합니다. 동시 수정으로부터 보호하기 위해 각 함수는 Lock 서비스를 사용하여 자체 공개 잠금을 가져옵니다. 각 기능은 1 분마다 실행되도록 트리거됩니다.공용 잠금의 범위는 무엇입니까? 함수, 파일 또는 프로젝트입니까?

저는 FunctionA가 잠금을 가질 수없는 반면 FunctionB는 잠금을 가지고있는 것으로 나타났습니다.

내 질문이 맞습니까? 그렇다면 a) 문서 참조 란 무엇이며 b) functionA와 functionB가 실제로 동시에 실행될 수 있도록 시스템을 설계하려면 어떻게해야합니까? 기능을 별도의 파일 또는 다른 프로젝트로 옮겨야합니까?

functionA의 잠금에 대한 나의 목표는 functionA의 여러 동시 실행을 중지하는 것입니다. 함수 B와 유사합니다. functionA가 functionB와 동시에 실행되면 상관하지 않습니다. 사실, 나는 사람들이 동시에 실행되어 사물이 사용자 관점에서 빠르게 작동하도록 인식되기를 바랍니다.

나는 the LockService doc을 읽었지만 극히 제한되어 있습니다. 단지 잠금 범위가 "코드 섹션"또는 "코드 섹션"이라고 말합니다.

답변

1

"프로젝트 별"입니다. 불행히도 동일한 스크립트에 대해 두 개의 잠금을 설정할 수 없습니다 (사용자가 다르거 나 사적인 잠금을받지 않는 경우).

a) 저는 API 디자이너가 아닙니다. 저는 최우수 기여자입니다.). 그러나 나는 그것이 디자인에 의한 다라고 꽤 확신한다. 자원 제한으로 인해 이런 식으로 제한했을 것입니다.

b) 따라서 다른 잠금을 사용하려면 다른 스크립트/프로젝트를 만들어야합니다.