PHP 5 has reached end of support and will be
deprecated
on January 31, 2026. After deprecation, you won't be able to deploy PHP 5
applications, even if your organization previously used an organization policy to
re-enable deployments of legacy runtimes. Your existing PHP
5 applications will continue to run and receive traffic after their
deprecation date. We recommend that
you migrate to the latest supported version of PHP.
Stay organized with collections
Save and categorize content based on your preferences.
This page describes some limitations with using the local development server
(dev_appserver) to test push queues in your application. In most
respects, you set up your queues and tasks just as you would to run them in the
App Engine production environment, but there are some differences:
The development server doesn't respect the rate and bucket-size attributes
of your queues. As a result, tasks are executed as close to their ETA as
possible. Setting a rate of 0 doesn't prevent tasks from being executed
automatically.
The development server doesn't preserve queue state across restarts.
To prevent push tasks from running in the development server at all, use the
following command:
python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --enable_task_running no
Replace DEVAPPSERVER_ROOT with the path to the folder where you
extract the archived version of devapp_server.py. For more information about
downloading and using the archived version of dev_appserver.py, see Using the local development server.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-25 UTC."],[[["\u003cp\u003eThis API is compatible with first-generation runtimes and can be used when upgrading to the corresponding second-generation runtimes, with a specific migration guide available for those updating to App Engine PHP 7/8.\u003c/p\u003e\n"],["\u003cp\u003eThe local development server (\u003ccode\u003edev_appserver\u003c/code\u003e) has limitations, notably not respecting the \u003ccode\u003erate\u003c/code\u003e and \u003ccode\u003ebucket-size\u003c/code\u003e attributes of queues, leading to tasks running close to their ETA without considering set rates.\u003c/p\u003e\n"],["\u003cp\u003eThe local development server's queue state is not saved across restarts.\u003c/p\u003e\n"],["\u003cp\u003eBefore running the local development server, specific setup steps must be followed, including using Python 3 for \u003ccode\u003edev_appserver.py\u003c/code\u003e and setting the \u003ccode\u003eCLOUDSDK_DEVAPPSERVER_PYTHON\u003c/code\u003e environment variable to the Python 2 interpreter's path.\u003c/p\u003e\n"],["\u003cp\u003eTo prevent push tasks from running in the development server, use the command \u003ccode\u003epython2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --enable_task_running no\u003c/code\u003e, replacing \u003ccode\u003eDEVAPPSERVER_ROOT\u003c/code\u003e with the appropriate path.\u003c/p\u003e\n"]]],[],null,["# Testing Push Queues in the Development Server\n\n| This API is supported for first-generation runtimes and can be used when [upgrading to corresponding second-generation runtimes](/appengine/docs/standard/\n| php-gen2\n|\n| /services/access). If you are updating to the App Engine PHP 7/8 runtime, refer to the [migration guide](/appengine/migration-center/standard/migrate-to-second-gen/php-differences) to learn about your migration options for legacy bundled services.\n\nThis page describes some limitations with using the local development server\n(`dev_appserver`) to test push queues in your application. In most\nrespects, you set up your queues and tasks just as you would to run them in the\nApp Engine production environment, but there are some differences:\n\n- The development server doesn't respect the `rate` and `bucket-size` attributes of your queues. As a result, tasks are executed as close to their ETA as possible. Setting a rate of `0` doesn't prevent tasks from being executed automatically.\n- The development server doesn't preserve queue state across restarts.\n\n| **Important:** Before running the local development server, follow the [setup instructions](/appengine/docs/legacy/standard/php/tools/using-local-server#set-up). Regardless of your app's runtime or language version, you must run `dev_appserver.py` with Python 3 and set the `CLOUDSDK_DEVAPPSERVER_PYTHON` environment variable in your shell to the path of your Python 2 interpreter.\n\nTo prevent push tasks from running in the development server at all, use the\nfollowing command: \n\n python2 \u003cvar translate=\"no\"\u003eDEVAPPSERVER_ROOT\u003c/var\u003e/google_appengine/dev_appserver.py --enable_task_running no\n\nReplace \u003cvar translate=\"no\"\u003eDEVAPPSERVER_ROOT\u003c/var\u003e with the path to the folder where you\nextract the archived version of `devapp_server.py`. For more information about\ndownloading and using the archived version of `dev_appserver.py`, see [Using the local development server](/appengine/docs/legacy/standard/php/tools/using-local-server#before_you_begin).\n\nFor more information about `devapp_server.py` command options, see\n[Local development server options](/appengine/docs/legacy/standard/php/tools/local-devserver-command)."]]