[[["容易理解","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-09-04 (世界標準時間)。"],[[["\u003cp\u003eThis page details the process of creating pull queues, which must be established before tasks can be added to them.\u003c/p\u003e\n"],["\u003cp\u003ePull queues are defined using a \u003ccode\u003equeue.yaml\u003c/code\u003e file with the \u003ccode\u003emode: pull\u003c/code\u003e directive, and this file is uploaded via the \u003ccode\u003egcloud app deploy queue.yaml\u003c/code\u003e command.\u003c/p\u003e\n"],["\u003cp\u003eQueues can be disabled or paused by removing their definition from the \u003ccode\u003equeue.yaml\u003c/code\u003e file and uploading the updated file, or from within the Google Cloud console.\u003c/p\u003e\n"],["\u003cp\u003eDeleting a queue requires first disabling it by removing it from the configuration file, uploading the new file, and then deleting it via the Google Cloud console.\u003c/p\u003e\n"],["\u003cp\u003eMixing the \u003ccode\u003equeue.yaml\u003c/code\u003e upload method with Queue Management methods through the Cloud Tasks API is not recommended, and the local development server does not support pull queues.\u003c/p\u003e\n"]]],[],null,["# Creating Pull Queues\n\nThis page describes how to create a pull queue. You must create the queue before\nyou can add tasks to it. The page also describes how to pause or delete a queue.\n| This API is supported for first-generation runtimes and can be used when [upgrading to corresponding second-generation runtimes](/appengine/docs/standard/\n| go\n| /services/access). If you are updating to the App Engine Go 1.12+ runtime, refer to the [migration guide](/appengine/migration-center/standard/migrate-to-second-gen/go-differences) to learn about your migration options for legacy bundled services.\n\nDefining queues with `queue.yaml`\n---------------------------------\n\nYou can define pull queues using the `queue.yaml` file for your application.\nThe process is the same as [creating named push queues](/appengine/docs/legacy/standard/go111/taskqueue/push/creating-push-queues), with a specialized directive, [`mode: pull`](/appengine/docs/legacy/standard/go111/config/queueref#mode), added to the file. \n\n queue:\n - name: my-queue-name\n mode: pull\n\nYou use the gcloud CLI `gcloud` command to upload the file. \n\n gcloud app deploy `queue.yaml`\n\n| **Note:** If you are using a service account to manage authentication for deploying your queue configuration file, it needs to have the `serviceusage.services.list` permission. This permission can be added either using the [`serviceusage.serviceUsageViewer`](/iam/docs/understanding-roles#service-usage-roles) role or by creating a [custom role](/iam/docs/understanding-custom-roles) with that permission.\n| **Caution:** Queue creation for the Task Queue service can also be managed using Queue Management methods available directly through the Cloud Tasks API, but mixing the `queue.yaml` upload method with Queue Management methods can produce unexpected results and is not recommended. For more information, see [Overview of Queue Management and queue.yaml](/tasks/docs/queue-yaml). Also note that uploading a `queue.yaml` file via the gcloud CLI below version `332.0.0` uses a deprecated interface to the service. Starting on `2022-09-20`, attempts to use the upload method can fail with server errors. To resolve this, make sure the Cloud Tasks API is enabled in your project and your gcloud CLI is updated to at least version `332.0.0`.\n\nDisabling queues\n----------------\n\nYou can disable, or pause, a queue by removing its definition from your queue\nconfiguration file and then uploading the updated file.\n\nOnce the updated file is uploaded, the queue is set to \"disabled\" and\nits rate is set to 0. Any tasks that are in the queue or new tasks that are\nadded to the queue will not be processed. You can re-enable the disabled queue\nby uploading a new queue file with the queue defined.\n\nYou can also pause a queue from within the\n[Cloud Tasks page in the Google Cloud console](https://console.cloud.google.com/cloudtasks).\n\nDeleting queues\n---------------\n\nTo delete a queue you must first disable it:\n\n1. Remove the queue definition from your queue configuration file.\n\n2. Upload the changed file.\n\n gcloud app deploy `queue.yaml`\n\nOnce the queue is disabled, use the Google Cloud console to delete it.\n\n1. In the Google Cloud console, select the queue.\n\n [Go to Cloud Tasks](https://console.cloud.google.com/cloudtasks)\n2. Click **Delete queue**.\n\nIf you delete a queue from the Google Cloud console, you must wait 7 days\nbefore recreating with the same name.\n| **Important:** The local development server (`dev_appserver`) does not support pull queues. To test your pull queues and make sure you have the details of your configuration correct, you'll need to push your queue configuration file to an App Engine staging environment.\n\nWhat's next\n-----------\n\nLearn how to [create tasks](/appengine/docs/legacy/standard/go111/taskqueue/pull/creating-tasks)."]]