Cloud Tasks 큐에 태스크 추가

이 빠른 시작에서는 Cloud Tasks API를 통해 Cloud Tasks 큐를 사용하여 기본 작업을 수행할 수 있습니다.

이 빠른 시작의 샘플은 App Engine 핸들러를 대상으로 하므로 App Engine 앱을 배포해야 합니다. App Engine을 대상으로 사용하지 않는 경우에는 App Engine 앱을 배포할 필요가 없으며 기존 App Engine 앱을 중지하면 됩니다.

예를 들어 HTTP Target 핸들러를 배타적으로 사용하는 경우 App Engine 앱이 필요하지 않습니다. 일반 HTTP Target의 경우 Cloud Tasks 서비스는 태스크 구성 방식에 따라 일반 HTTP 엔드포인트에 있는 작업자에게 태스크 요청을 전달합니다. HTTP 대상 사용에 대한 자세한 내용은 HTTP 대상 태스크 만들기를 참조하세요.

시작하기 전에

이 빠른 시작을 위해 Cloud 환경을 설정하려면 Google Cloud 프로젝트를 만들고 결제가 사용 설정된 App Engine 애플리케이션을 추가합니다. Google Cloud 프로젝트를 만들 때 결제 계정이 있으면 결제가 자동으로 사용 설정됩니다.

Google Cloud 프로젝트, App Engine 애플리케이션, 결제 관리에 대해 자세히 알아보세요.

  1. Google Cloud 프로젝트를 만들거나 선택합니다.

    App Engine 페이지로 이동

    1. 오른쪽 상단의 버튼을 사용하여 기존 프로젝트 이름을 선택하거나 프로젝트 이름을 새로 만듭니다.
    2. 왼쪽 상단의 드롭다운 상자에 프로젝트 ID를 기록합니다. 이것은 Cloud Tasks 요청의 매개변수로 사용됩니다.
  2. App Engine 애플리케이션을 프로젝트에 추가합니다.

    1. App Engine 시작하기 페이지에서 애플리케이션 만들기를 클릭합니다.

    2. 애플리케이션의 리전을 선택합니다. 이 위치는 Cloud Tasks 요청의 LOCATION_ID 매개변수로 사용되므로 기록해 두세요. 두 위치는 App Engine 명령어에서는 europe-westus-central로, Cloud Tasks 명령어에서는 europe-west1us-central1로 각각 호출됩니다.

    3. 시작하기 페이지에서 다음을 클릭합니다. 이 부분은 나중에 처리합니다. 새 프로젝트인 경우 실행 환경이 빌드됩니다.

    4. 결제 사용 설정 팝업이 나타나면 결제 계정을 선택합니다. 현재 결제 계정이 없으면 결제 계정 만들기를 클릭하고 마법사의 안내에 따릅니다.

    5. 다음 단계 페이지에서 나중에 하기를 클릭합니다. 나중에 샘플에 액세스하여 SDK를 다운로드합니다.

  3. Cloud Tasks API를 사용 설정합니다.

    Cloud Tasks API 페이지로 이동

  4. API 인증을 설정합니다.

    이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.

    C#

    로컬 개발 환경에서 이 페이지의 .NET 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.

    1. Google Cloud CLI를 설치합니다.
    2. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

      gcloud init
    3. Google 계정의 로컬 인증 사용자 인증 정보를 만듭니다.

      gcloud auth application-default login

    자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경 인증 설정을 참조하세요.

    Go

    로컬 개발 환경에서 이 페이지의 Go 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.

    1. Google Cloud CLI를 설치합니다.
    2. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

      gcloud init
    3. Google 계정의 로컬 인증 사용자 인증 정보를 만듭니다.

      gcloud auth application-default login

    자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경 인증 설정을 참조하세요.

    Java

    로컬 개발 환경에서 이 페이지의 Java 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.

    1. Google Cloud CLI를 설치합니다.
    2. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

      gcloud init
    3. Google 계정의 로컬 인증 사용자 인증 정보를 만듭니다.

      gcloud auth application-default login

    자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경 인증 설정을 참조하세요.

    Node.js

    로컬 개발 환경에서 이 페이지의 Node.js 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.

    1. Google Cloud CLI를 설치합니다.
    2. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

      gcloud init
    3. Google 계정의 로컬 인증 사용자 인증 정보를 만듭니다.

      gcloud auth application-default login

    자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경 인증 설정을 참조하세요.

    PHP

    로컬 개발 환경에서 이 페이지의 PHP 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.

    1. Google Cloud CLI를 설치합니다.
    2. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

      gcloud init
    3. Google 계정의 로컬 인증 사용자 인증 정보를 만듭니다.

      gcloud auth application-default login

    자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경 인증 설정을 참조하세요.

    Python

    로컬 개발 환경에서 이 페이지의 Python 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.

    1. Google Cloud CLI를 설치합니다.
    2. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

      gcloud init
    3. Google 계정의 로컬 인증 사용자 인증 정보를 만듭니다.

      gcloud auth application-default login

    자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경 인증 설정을 참조하세요.

    Ruby

    로컬 개발 환경에서 이 페이지의 Ruby 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.

    1. Google Cloud CLI를 설치합니다.
    2. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

      gcloud init
    3. Google 계정의 로컬 인증 사용자 인증 정보를 만듭니다.

      gcloud auth application-default login

    자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경 인증 설정을 참조하세요.

샘플 설정

이 샘플은 Cloud Tasks API를 통해 Cloud Tasks 큐에 태스크를 추가할 수 있는 프레임워크를 제공합니다.

C#

C# 샘플은 두 개의 앱으로 구성되어 있습니다. 하나(CreateAppEngineTask)는 명령줄 도구로 로컬에서 실행하여 태스크를 만들고 큐에 태스크를 추가합니다. 다른 하나(CloudTasks)는 App Engine 가변형 환경에 태스크를 '처리'하기 위한 작업자로 배포됩니다.

샘플을 다운로드하고 설치하려면 다음 단계를 따르세요.

  1. .NET Core SDK 버전 2.0 이상이 설치되어 있는지 확인합니다.

  2. 샘플 애플리케이션 저장소를 로컬 머신에 클론합니다.

    git clone https://github.com/GoogleCloudPlatform/dotnet-docs-samples

  3. CreateTask에 대한 샘플 코드가 있는 디렉터리로 이동합니다.

    cd dotnet-docs-samples/cloudtasks/api/TasksSample/

  4. 모든 종속 항목을 설치합니다.

    dotnet restore

  5. CloudTasks에 대한 샘플 코드가 포함된 디렉터리(dotnet-docs-samples/cloudtasks/appengine/)로 이동하여 모든 종속 항목을 설치합니다.

    dotnet restore

  6. 애플리케이션을 컴파일하고 배포를 준비합니다.

    dotnet publish

  7. 작업자 서비스(CloudTasksCloudTasks)를 App Engine 가변형 환경에 배포합니다.

    gcloud app deploy .\bin\Debug\netcoreapp2.1\publish\app.yaml

  8. 색인 페이지가 작동하는지 확인합니다.

    gcloud app browse

    브라우저에 https://{YOUR_PROJECT_ID}.appspot.com/이 열리고 Hello, World!가 표시됩니다.

Go

Golang 샘플은 두 개의 파일로 구성되어 있습니다. 하나(tasks/create_task/create_task.go)는 명령줄 도구로 로컬에서 실행하여 태스크를 만들고 큐에 태스크를 추가합니다. 다른 하나(tasks/handle_task/handle_task.go)는 태스크를 '처리'하기 위한 작업자로 App Engine에 배포됩니다.

샘플을 다운로드하고 설치하려면 다음 단계를 따르세요.

  1. gcloud App Engine Go 구성요소를 설치했는지 확인합니다.

    gcloud components install app-engine-go

  2. 샘플 애플리케이션 저장소를 로컬 머신에 클론합니다.

    git clone https://github.com/GoogleCloudPlatform/golang-samples.git

  3. 작업자 샘플 코드의 tasks/handle_task 디렉터리로 이동합니다.

    cd golang-samples/appengine/go11x/tasks/handle_task

  4. 필수 구성 정보를 포함하는 app.yaml 파일이 있는지 확인합니다.

  5. 작업자 서비스 (handle_task.go)를 App Engine에 배포합니다.

    gcloud app deploy

  6. 서비스가 포함된 앱이 실행 중인지 확인합니다.

    gcloud app browse

    브라우저에 https://{YOUR_PROJECT_ID}.appspot.com/이 열리고 Hello, World!가 표시됩니다.

자바

이 자바 11 예시에서는 애플리케이션 두 개를 사용합니다.

  • tasks은 로컬에서 명령줄 도구로 실행되어 태스크를 만들고 큐에 추가합니다.
  • tasks-handler 스프링 부팅 앱은 태스크 요청을 수신하는 엔드포인트 역할을 하여 Cloud Tasks 요청을 작업자로 처리합니다. 기본적으로 배포하는 App Engine 앱입니다.

샘플 앱을 배포하는 명령어는 다음과 같습니다.

  1. 자바 SE 11 개발 키트(JDK)를 다운로드하여 설치합니다.
  2. Cloud Tasks 설정 안내를 완료합니다.
  3. Maven을 다운로드 및 설치하여 앱을 빌드, 배포, 관리합니다.

  4. gcloud CLI app-engine-java 구성요소를 설치합니다.

    gcloud components install app-engine-java
    

샘플을 다운로드하고 설치하려면 다음 단계를 따르세요.

  1. 샘플 애플리케이션 저장소를 로컬 머신에 클론합니다.

    git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
    또는 ZIP 파일로 샘플을 다운로드하고 압축을 풉니다.

  2. tasks-handler 앱의 최상위 디렉터리로 이동합니다.

    cd java-docs-samples/appengine-java11/tasks-handler/

  3. App Engine에 tasks-handler 앱을 배포합니다.

    mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID

    PROJECT_ID를 Google Cloud 프로젝트의 ID로 바꿉니다. pom.xml 파일에 이미 프로젝트 ID가 지정된 경우 실행할 명령어에 -Dapp.deploy.projectId 속성을 포함하지 않아도 됩니다.

Node.js

Node.js 샘플은 두 개의 파일로 구성되어 있습니다. 하나(createTask.js)는 명령줄 도구로 로컬에서 실행하여 태스크를 만들고 큐에 태스크를 추가합니다. 다른 하나(server.js)는 태스크를 '처리'하기 위한 작업자로 App Engine에 배포됩니다.

샘플을 다운로드하고 설치하려면 다음 단계를 따르세요.

  1. 샘플 애플리케이션 저장소를 로컬 머신에 클론합니다.

    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git

  2. 샘플 코드가 있는 디렉터리로 이동합니다.

    cd nodejs-docs-samples/cloud-tasks/snippets

  3. 모든 종속 항목을 설치합니다.

    npm을 사용할 수 있습니다.

    npm install
    또는 yarn을 사용할 수 있습니다.
    yarn install

  4. 작업자 서비스(server.js)를 App Engine 표준 환경에 배포합니다.

    gcloud app deploy app.yaml

  5. 서비스가 포함된 앱이 실행 중인지 확인합니다.

    gcloud app browse

    브라우저에 https://{YOUR_PROJECT_ID}.appspot.com/이 열리고 Hello, World!가 표시됩니다.

PHP

PHP 샘플은 두 개의 파일로 구성되어 있습니다. 하나(/snippets/src/create_task.php)는 명령줄 도구로 로컬에서 실행하여 태스크를 만들고 큐에 태스크를 추가합니다. 다른 하나(/apps/handler/index.php)는 태스크를 '처리'하기 위한 작업자로 App Engine에 배포됩니다.

샘플을 다운로드하고 설치하려면 다음 단계를 따르세요.

  1. 샘플 애플리케이션 저장소를 로컬 머신에 클론합니다.

    git clone https://github.com/GoogleCloudPlatform/php-docs-samples

  2. Tasks 샘플의 최상위 디렉터리로 이동합니다.

    cd php-docs-samples/appengine/standard/tasks

    tasks 디렉터리에 두 개의 하위 디렉터리가 표시됩니다.

    • apps/handler: App Engine에 배포할 작업자 서비스의 코드 포함
    • snippets: 로컬 명령줄 도구용 코드 포함
  3. Composer가 설치되어 있는지 확인합니다. 로컬에서 사용하려면 두 하위 디렉터리 모두에 composer.phar가 있어야 합니다. 로컬 및 전역에서 실행을 비교하는 내용은 Composer 문서를 참조하세요.

  4. snippets 디렉터리에 모든 종속 항목을 설치합니다.

    composer install
    로컬 전용이면 다음 명령어를 실행합니다.
    php composer.phar install

  5. apps/handler 디렉터리에 모든 종속 항목을 설치합니다.

    composer install
    로컬 전용이면 다음 명령어를 실행합니다.
    php composer.phar install

  6. apps/handler 디렉터리에서 gcloud app deploy 명령어를 사용하여 App Engine에 작업자 서비스를 배포합니다.

    gcloud app deploy

  7. 서비스가 포함된 앱이 실행 중인지 확인합니다.

    gcloud app browse

    브라우저에 https://{YOUR_PROJECT_ID}.appspot.com/이 열리고 Hello, World!가 표시됩니다.

Python

Python 샘플 앱은 두 개의 파일로 구성되어 있습니다. 하나(create_app_engine_queue_tasks.py)는 명령줄 도구로 로컬에서 실행하여 태스크를 만들고 큐에 태스크를 추가합니다. 다른 하나(main.py)는 태스크를 '처리'하기 위한 작업자로 App Engine에 배포됩니다.

샘플을 다운로드하고 설치하려면 다음 단계를 따르세요.

  1. 샘플 애플리케이션 저장소를 로컬 머신에 클론합니다.

    git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git

  2. 샘플 코드가 있는 디렉터리로 이동합니다.

    cd python-docs-samples/appengine/flexible_python37_and_earlier/tasks/

  3. 모든 종속 항목을 설치합니다.

    pip install -r requirements.txt

  4. 작업자 서비스 (main.py)를 App Engine에 배포합니다.

    gcloud app deploy

  5. 색인 페이지가 작동하는지 확인합니다.

    gcloud app browse

    브라우저에 https://{YOUR_PROJECT_ID}.appspot.com/이 열리고 Hello, World!가 표시됩니다.

Ruby

Ruby 샘플은 두 개의 파일로 구성되어 있습니다. 하나(create_Task.rb)는 명령줄 도구로 로컬에서 실행하여 태스크를 만들고 큐에 태스크를 추가합니다. 다른 하나(app.rb)는 태스크를 '처리'하기 위한 작업자로 App Engine에 배포됩니다.

샘플을 다운로드하고 설치하려면 다음 단계를 따르세요.

  1. 샘플 애플리케이션 저장소를 로컬 머신에 클론합니다.

    git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples.git

  2. 샘플 코드가 있는 디렉터리로 이동합니다.

    cd ruby-docs-samples/appengine/cloud-tasks

  3. 종속 항목을 설치합니다.

    bundle install

  4. 작업자 서비스(app.rb)를 App Engine 가변 환경에 배포합니다.

    gcloud app deploy app.yaml

  5. 서비스가 포함된 앱이 실행 중인지 확인합니다.

    gcloud app browse

    브라우저에 https://{YOUR_PROJECT_ID}.appspot.com/이 열리고 Hello, World!가 표시됩니다.

App Engine 태스크 핸들러를 만드는 방법에 대한 자세한 내용은 App Engine 태스크 핸들러 만들기를 참조하세요.

Cloud Tasks 큐 만들기

gcloud CLI gcloud 큐 관리 기능을 사용하여 위에서 준비한 환경에서 큐를 만듭니다.

  1. 명령줄에 다음을 입력합니다.

    gcloud tasks queues create my-queue --location=LOCATION

    LOCATION을 큐의 원하는 위치(예: us-west2)로 바꿉니다. 위치를 지정하지 않으면 gcloud CLI가 기본값을 선택합니다.

  2. 큐가 초기화될 때까지 기다린 후 describe를 사용하여 성공적으로 만들어졌는지 확인합니다.

    gcloud tasks queues describe my-queue --location=LOCATION

    LOCATION을 큐 위치로 바꿉니다.

  3. 출력이 다음과 비슷한지 확인합니다.

    name: projects/PROJECT_ID/locations/LOCATION_IDqueues/QUEUE_NAME # Note these ids
    rateLimits:
      maxBurstSize: 100
      maxConcurrentDispatches: 1000
      maxDispatchesPerSecond: 500.0
    retryConfig:
      maxAttempts: 100
      maxBackoff: 3600s
      maxDoublings: 16
      minBackoff: 0.100s
    state: RUNNING
    

Cloud Tasks 큐에 태스크 추가

C#

태스크를 로컬에 만들고 설정한 큐에 추가한 후 비동기 작업자에게 전달할 수 있습니다.

  1. 샘플 앱의 코드에서 수동으로 또는 별칭을 통해 머신에 다음 환경 변수를 설정합니다. 샘플 앱은 이러한 변수를 사용하여 태스크를 큐에 추가하는 요청을 만듭니다.

    export GOOGLE_PROJECT_ID=my-project-id # The project ID you set up above
    export GCP_QUEUE=my-queue # the queue you created above
    export LOCATION_ID=my-location-id # The region in which your queue is running

    다음 gcloud 명령어를 사용하여 App Engine 앱의 위치 ID를 찾을 수 있습니다.

    gcloud tasks locations list

  2. TasksSample 폴더로 이동합니다.

    cd ../api/TasksSample

  3. test를 사용하여 태스크를 만들고 페이로드('hello' 문자열)을 추가합니다. 이전에 배포한 CloudTasks 앱에는 페이로드를 로깅하여 처리하는 엔드포인트 log_payload가 있습니다.

    dotnet test

  4. 로그를 확인하여 태스크에서 엔드포인트를 조회하는지 확인합니다.

    gcloud app logs read

Go

태스크를 로컬에 만들고 설정한 큐에 추가한 후 비동기 작업자에게 전달할 수 있습니다.

  1. 아직 tasks/handle_task 디렉터리에 있는 경우 tasks/create_task 디렉터리로 이동합니다.

  2. 샘플 앱의 코드에서 수동으로 또는 별칭을 통해 머신에 다음 환경 변수를 설정합니다. 클라이언트는 이 정보를 사용하여 요청을 만듭니다.

     export PROJECT_ID=PROJECT_ID # The project ID from above
     export LOCATION_ID=LOCATION_ID # The region in which your queue is running
     export QUEUE_ID=my-queue # The queue you created above
    참고: 다음 gcloud 명령어를 사용하여 위치 ID를 찾을 수 있습니다.
    gcloud tasks locations list

  3. hello의 페이로드로 태스크를 만들어서 큐에 추가합니다. 페이로드는 작업자가 태스크 처리를 완료하는 데 필요한 요청의 모든 데이터가 될 수 있습니다.

    go run . $PROJECT_ID $LOCATION_ID $QUEUE_ID hello 

  4. 작업자 서비스 로그를 표시하여 페이로드가 수신되었는지 확인합니다.

    gcloud app logs read

자바

태스크를 로컬에 만들어서 설정한 큐에 추가한 다음 해당 태스크를 비동기 작업자에게 전달합니다.

  1. appengine-java11/tasks 디렉터리로 이동하여 앱을 컴파일합니다.

    cd ../tasks
    mvn package

  2. 머신에 다음 환경 변수를 설정합니다. 샘플 앱은 이러한 변수를 사용하여 태스크를 큐에 추가하는 요청을 만듭니다.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID // The project ID you set up above
    export LOCATION_ID=LOCATION_ID // The region in which your queue is running
    export QUEUE_ID=MY_QUEUE // The queue you created above
    참고: 다음 gcloud 명령어를 사용하여 위치 ID를 찾을 수 있습니다.
    gcloud tasks locations list

  3. 지정된 페이로드로 배포한 태스크 핸들러 컨트롤러의 /tasks/create 엔드포인트를 대상으로 태스크를 만듭니다. 페이로드는 작업자가 태스크 처리를 완료하는 데 필요한 요청의 모든 데이터가 될 수 있습니다. 이 예시에서 페이로드는 샘플에 하드 코딩되었으므로 이를 지정할 필요가 없습니다.

     mvn exec:java -Dexec.mainClass="com.example.task.CreateTask"
     
    태스크가 작업자에게 전달되고 작업자가 태스크를 처리하면 작업자는 Cloud Tasks 서비스에 2xx 성공 상태 코드를 반환하고 큐에서 태스크를 자동으로 삭제합니다.

  4. 작업자 서비스 로그를 표시하여 태스크가 수신되었는지 확인합니다.

    gcloud app logs read

Node.js

태스크를 로컬에 만들고 설정한 큐에 추가한 후 비동기 작업자에게 전달할 수 있습니다.

  1. 샘플 앱의 코드에서 수동으로 또는 별칭을 통해 머신에 다음 환경 변수를 설정합니다. 클라이언트는 이 정보를 사용하여 요청을 만듭니다.

    export PROJECT_ID=PROJECT_ID # The project ID from above
    export LOCATION_ID=LOCATION_ID # The region in which your queue is running
    export QUEUE_ID=my-queue # The queue you created above
    참고: 다음 gcloud 명령어를 사용하여 위치 ID를 찾을 수 있습니다.
    gcloud tasks locations list

  2. hello의 페이로드로 태스크를 만들어서 큐에 추가합니다. 페이로드는 작업자가 태스크 처리를 완료하는 데 필요한 요청의 모든 데이터가 될 수 있습니다.

    node createTask.js $PROJECT_ID $QUEUE_ID $LOCATION_ID hello 

  3. 작업자 서비스 로그를 표시하여 페이로드가 수신되었는지 확인합니다.

    gcloud app logs read

PHP

태스크를 로컬에 만들어서 설정한 큐에 추가한 다음 해당 태스크를 비동기 작업자에게 전달합니다.

  1. snippets 디렉터리로 이동합니다.

  2. 샘플 앱의 코드에서 수동으로 또는 별칭을 통해 머신에 다음 환경 변수를 설정합니다. 샘플 앱은 이 변수를 사용하여 태스크를 큐에 추가하는 요청을 만듭니다.

    export PROJECT_ID=PROJECT_ID # The project ID from above
    export LOCATION_ID=LOCATION_ID # The region in which your queue is running
    export QUEUE_ID=my-queue # The queue you created above
    참고: 다음 gcloud 명령어를 사용하여 위치 ID를 찾을 수 있습니다.
    gcloud tasks locations list

  3. 로컬 스니펫 create_task.php를 사용하여 태스크를 만들고 hello 페이로드를 추가합니다. 페이로드는 작업자가 태스크 처리를 완료하는 데 필요한 요청의 모든 데이터가 될 수 있습니다.

    php src/create_task.php $PROJECT_ID $LOCATION_ID $QUEUE_ID hello
    

  4. 로그에서 페이로드를 수신했는지 확인합니다.

    gcloud app logs read

Python

작업을 로컬에 만들어서 설정한 큐에 추가한 다음 해당 작업을 비동기 작업자에게 전달합니다.

  1. 샘플 앱의 코드에서 수동으로 또는 별칭을 통해 머신에 다음 환경 변수를 설정합니다. 샘플 앱은 이러한 변수를 사용하여 태스크를 큐에 추가하는 요청을 만듭니다.

    export PROJECT_ID=PROJECT_ID # The project ID you set up above
    export LOCATION_ID=LOCATION_ID # The region in which your queue is running
    export QUEUE_ID=my-queue # The queue you created above
    참고: 다음 gcloud 명령어를 사용하여 위치 ID를 찾을 수 있습니다.
    gcloud tasks locations list

  2. 로컬 create_app_engine_queue_task.py를 사용하여 태스크를 만들고 hello 페이로드를 추가합니다. 페이로드는 작업자가 태스크 처리를 완료하는 데 필요한 요청의 모든 데이터가 될 수 있습니다.

    python create_app_engine_queue_task.py --project=$PROJECT_ID \
    --location=$LOCATION_ID --queue=$QUEUE_ID --payload=hello

  3. 페이로드가 수신되었는지 확인합니다.

    gcloud app logs read

Ruby

태스크를 로컬에 만들어서 설정한 큐에 추가한 다음 해당 태스크를 비동기 작업자에게 전달합니다.

  1. 샘플 앱의 코드에서 수동으로 또는 별칭을 통해 머신에 다음 환경 변수를 설정합니다. 클라이언트는 이 정보를 사용하여 요청을 만듭니다.

    export GOOGLE_CLOUD_PROJECT=my-project-id # The project ID from above
    export LOCATION_ID=my-location-id # The region in which your queue is running
    export QUEUE_ID=my-queue # The queue you created above
    참고: 다음 gcloud 명령어를 사용하여 위치 ID를 찾을 수 있습니다.
    gcloud tasks locations list

  2. hello의 페이로드로 태스크를 만들어서 큐에 추가합니다. 페이로드는 작업자가 태스크 처리를 완료하는 데 필요한 요청의 모든 데이터가 될 수 있습니다.

    ruby create_task.rb $GOOGLE_CLOUD_PROJECT_ID $LOCATION_ID $QUEUE_ID hello

  3. 작업자 서비스 로그를 표시하여 페이로드가 수신되었는지 확인합니다.

    gcloud app logs read

삭제

이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.

  1. Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.

    리소스 관리로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 후 종료를 클릭하여 프로젝트를 삭제합니다.

다음 단계

Cloud Tasks 큐에 태스크를 추가했습니다. 계속해서 다음 페이지를 보고 Cloud Tasks를 알아보세요.