드라이브 업로드 폴링 알림 설계

업무 자동화4분 읽기

거래처가 자료를 올리면 누군가는 알아야 합니다. 광고비 보고서가 들어왔는지, 세금계산서가 올라왔는지, 공유 폴더에 새 파일이 생겼는지를 운영자가 하루 종일 드라이브를 새로고침하며 지킬 수는 없습니다. 광고대행 사업의 업무 자동화에서 우리는 이 감시를 앱스스크립트의 폴링으로 대신했습니다. 단순히 "새 파일이 있다"를 넘어 어느 폴더에 무엇이 올라왔는지에 맞는 안내를 보내고 비개발자 운영자가 헷갈리지 않게 만드는 데 초점을 뒀습니다.

폴링으로 새 파일을 감지한다

구글 드라이브에는 파일 업로드를 실시간으로 밀어주는 손쉬운 훅이 마땅치 않습니다. 그래서 정해진 간격마다 거래처 폴더들을 돌며 새 파일이 생겼는지 확인하는 폴링 방식을 택했습니다. 앱스스크립트의 시간 트리거로 주기적으로 감시 함수를 실행하고 각 거래처의 감시 대상 폴더를 훑어 새로 생긴 파일을 찾습니다.

폴링에서 반드시 풀어야 하는 문제는 중복 발송입니다. 매번 폴더를 훑을 때마다 이미 있던 파일까지 새 파일로 오인하면, 같은 업로드로 알림이 반복해서 나갑니다. 그래서 이미 알림을 보낸 파일의 식별자를 처리 이력으로 남기고 폴링할 때 이 이력에 없는 파일만 새 파일로 취급하도록 했습니다. 한 번 알린 파일은 다음 폴링에서 조용히 넘어갑니다.

폴더마다 다른 문구로 알린다

같은 "업로드"라도 그 의미는 폴더에 따라 다릅니다. 공유 자료 폴더에 파일이 올라온 것과 월별 자료의 광고비 보고서 폴더에 파일이 올라온 것은 받는 사람이 취해야 할 행동이 다릅니다. 알림 문구를 폴더 성격별로 나눠 어느 폴더에 자료가 들어왔고 무엇을 확인하면 되는지를 문구 안에 담았습니다. 광고비 보고서가 올라오면 이번 달 매체별 사용 금액을 확인할 수 있다는 식으로, 폴더의 용도가 곧 안내가 됩니다.

알림은 거래처와 관리자 양쪽으로 나갑니다. 자료를 올린 쪽과 받아 처리할 쪽이 같은 사실을 동시에 알게 되어 "올렸는데 봤나" "왔다는데 어디" 같은 확인 왕복이 줄어듭니다. 문구의 머리말도 일관된 형식으로 통일해 받는 사람이 어디서 온 알림인지 한눈에 알 수 있게 했습니다.

정상 접수를 따로 확인시킨다

이 시스템의 운영자 중에는 디지털에 익숙하지 않은 분도 있었습니다. 폴더별 안내 문구와 별개로, 파일이 정상적으로 업로드되었다는 확인 문구를 함께 보내도록 했습니다. 파일을 올린 직후 "정상 업로드되었습니다"라는 메시지를 받으면, 자기가 한 작업이 제대로 들어갔는지 즉시 안심할 수 있습니다.

여기에 파일명 형식 안내도 얹었습니다. 자료를 정리하려면 파일명이 일정한 규칙을 따르는 편이 좋은데, 규칙을 어겼다고 업로드를 막아 버리면 익숙하지 않은 운영자가 당황합니다. 업로드 자체는 항상 받아들이되, 권장 파일명 형식을 안내 문구로 함께 보내는 방식을 택했습니다. 강제로 거절하는 대신 부드럽게 유도하는 쪽이 이 사용자층에는 맞았습니다.

처리한 파일은 본사로 옮긴다

알림을 보내는 것으로 끝이 아닙니다. 처리한 파일을 언제까지고 거래처 공유 폴더에 쌓아 두면 폴더가 지저분해지고 다음 폴링에서 헷갈릴 여지도 생깁니다. 그래서 알림을 보낸 파일은 본사 영역의 보관 폴더로 옮겨 정리하도록 했습니다. 거래처가 보는 공유 폴더는 항상 깔끔하게 비워지고 원본은 본사 쪽에 안전하게 남습니다.

이 업로드 알림은 앞서 만든 폴더 트리 구조 위에서 돕니다. 폴더를 만들 때 반환된 폴더 ID 맵이 그대로 이 감시의 대상 목록이 되기 때문입니다. 폴더 구조 설계는 거래처별 공유 드라이브 권한 설계에서, 여기서 나가는 문자 발송의 인증 방식은 앱스스크립트에서 문자 발송하기에서, 시스템 전체는 구글 시트·앱스스크립트 거래처별 업무 자동화에서 이어집니다.

자주 묻는 질문

실시간 훅 대신 폴링을 쓰면 알림이 늦지 않나요?

정해진 폴링 간격만큼의 지연은 생깁니다. 다만 이 업무에서는 자료 업로드에 몇 분의 지연이 문제가 되지 않았습니다. 즉시성이 크게 중요하지 않은 대신, 폴링은 별도 훅 인프라 없이 앱스스크립트의 시간 트리거만으로 안정적으로 돌아간다는 장점이 큽니다. 요구되는 즉시성과 운영 단순성을 저울질해 폴링을 택했습니다.

같은 파일에 알림이 여러 번 가는 문제는 어떻게 막나요?

이미 알림을 보낸 파일의 식별자를 처리 이력으로 남깁니다. 폴링할 때마다 이 이력을 확인해 목록에 없는 파일만 새 파일로 처리하고 알림을 보낸 뒤 이력에 추가합니다. 한 번 알린 파일은 다음 폴링부터 건너뛰기 때문에 같은 업로드로 중복 발송이 나가지 않습니다.

파일명 규칙을 어기면 업로드를 막아야 하지 않나요?

이 시스템의 운영자층을 고려해 막지 않는 쪽을 택했습니다. 규칙 위반으로 업로드를 거절하면 익숙하지 않은 사용자가 당황하고 작업이 멈춥니다. 대신 업로드는 항상 받아들이고 권장 파일명 형식을 안내 문구로 함께 보내 자연스럽게 규칙을 따르도록 유도합니다. 강제보다 안내가 이 사용자층의 실수를 더 줄였습니다.

#구글드라이브#앱스스크립트#폴링#업로드알림

업무자동화 구축이 필요하신가요?

무료 상담 신청