2016-07-27 3 views
0

Google Script 호출 기능을 비동기 적으로 만들 수있는 방법이 있습니까? 제 시나리오는 정보가 입력 된 주요 스프레드 시트를 가지고 스크립트가 관련 정보를 다른 스프레드 시트로 전달한다는 것입니다.스크립트를 사용하여 Google 스프레드 시트에서 비동기 함수 호출

다른 스프레드 시트의 데이터를 조작하는 다른 기능이 있습니다. 불행히도 많은 양의 데이터 때문에 한 번의 작업에서 모든 함수를 호출하면 스크립트가 6 분의 시간 제한을 초과합니다.

다른 스프레드 시트에서 onEdit 트리거를 사용해 보았지만 사용자가 시트를 열지 않으면 작동하지 않는 것 같습니다.

지금은 사용자가 다양한 기능을 실행하고 시간 제한을 설정하기 위해 4 개의 다른 버튼을 누르십시오.

블레어

답변

0

가 업데이트 될 필요와 실시간 방법에 따라 어떤 도움

덕분에, 당신은 아마로 PropertiesService에 저장 (할 수있는 모든 업데이트를 포함하는 큐를 만드는 고려할 수 문자열로 묶은 JSON 객체).

그런 다음 큐에서 해당 항목을 제거하기 전에 업데이트 코드를 정기적으로 실행하거나 5 분마다 말하고 큐의 다음 요소를 읽고 업데이트를 실행할 수 있습니다. 이는 각 개별 업데이트가 6 분 내에 설치되었음을 의미하지만 메인 시트에 대한 모든 업데이트에 대해 4 개의 추가 업데이트가있는 경우 모든 업데이트가 완료되기까지 최대 24 분이 걸릴 수도 있습니다.

+0

불행히도 사용자는 응답을 기다리고 있으며 실행해야하는 13 개의 기능이 있으며 각각 현재 약 90 초가 걸립니다. 내가 그들을 동시에 실행할 수 없다면 나는 다른 방식으로 접근해야한다고 생각해야 할 것이다. –

+0

흠. 그것은 오랜 시간이다! 그렇게 오래 걸리지 않도록 기능을보다 효율적으로 만들 수있는 방법이 없습니까? 또는 IMPORTRANGE를 사용하여 다른 스프레드 시트를 마스터에 링크 할 수 있습니다. – alfiethecoder

+0

문제는 처리하는 행 수입니다. 대개 약 10,000입니다. 내가 시도했을 때 수식으로 모든 사람들이 채워지게 만들었고, 다시 계산해 보면 스프레드 시트가 죽었다. 그래서 첫 번째 줄을 1000으로 복사 한 다음 다른 시트에 값을 10 번 붙여 넣고 마지막으로 모든 수식을 다시 삭제하는 스크립트를 작성해야했습니다. –

관련 문제