Go 태스크 큐 예시
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
이 예시에서는 HTML 양식을 표시하는 앱을 만듭니다. 대화상자에 문자열을 입력하고 Add
를 클릭합니다. 앱에서는 이 방식으로 문자열이 입력되는 횟수를 계산합니다.
앱은 다음을 수행합니다.
Add
를 클릭하면 양식에서 HTTP POST
요청을 사용하여 App Engine에서 실행 중인 앱에 문자열을 보냅니다. 이때 앱은 문자열을 번들로 묶어 태스크에 추가한 다음 기본 큐로 보냅니다.
- 큐에서 URL
/worker
에 매핑된 포함 태스크 핸들러로 이 태스크를 전달하여 문자열을 비동기적으로 Datastore에 씁니다.
- HTTP
GET
요청을 보내면 입력한 문자열 목록과 각 문자열을 직접 입력하거나 드롭다운 상자에서 클릭하여 Add
한 횟수가 표시됩니다.
이 앱을 App Engine에 배포하려면 다음 안내를 따르세요.
다음을 queue.yaml
파일에 복사합니다. 이렇게 하면 태스크가 처리되는 속도가 기본값인 초당 5회에서 초당 3회로 변경됩니다.
queue:
- name: default
rate: 3/s
같은 디렉터리에서 다음 내용을 원하는 대로 이름을 지정한 파일(.go
로 끝나는 이름)에 복사합니다. 태스크 핸들러를 포함한 애플리케이션 코드입니다.
같은 디렉터리에서 다음을 app.yaml
파일에 복사합니다. 이렇게 하면 App Engine용 애플리케이션이 구성됩니다.
Google Cloud Platform 프로젝트에 App Engine 앱이 준비되었으며 초기화하고 프로젝트에 gcloud
명령어를 구성했는지 확인합니다.
gcloud app deploy
명령어를 사용하여 App Engine에 앱을 배포합니다.
gcloud app browse
명령어를 사용하여 실행 중인 앱을 확인합니다.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-03-06(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-03-06(UTC)"],[[["This application counts and displays the number of times a string is entered via an HTML form."],["When a string is added, it's sent to App Engine via an HTTP POST request, bundled into a task, and added to the default queue."],["The task queue forwards the task to a worker handler, which then writes the string to a datastore asynchronously."],["An HTTP GET request retrieves and displays a list of the entered strings and their corresponding counts."],["The application can be deployed to App Engine using specific configuration files and the `gcloud` command-line tool."]]],[]]