Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
El siguiente código agrega una tarea a una cola con opciones.
En index.html:
<!-- A basic index.html file served from the "/" URL. -->
<html>
<body>
<p>Enqueue a value, to be processed by a worker.</p>
<form action="/enqueue" method="post">
<input type="text" name="key">
<input type="submit">
</form>
</body>
</html>
En Enqueue.java:
// The Enqueue servlet should be mapped to the "/enqueue" URL.// With @WebServlet annotation the webapp/WEB-INF/web.xml is no longer required.@WebServlet(name="TaskEnque",description="taskqueue: Enqueue a job with a key",urlPatterns="/taskqueues/enqueue")publicclassEnqueueextendsHttpServlet{protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Stringkey=request.getParameter("key");// Add the task to the default queue.Queuequeue=QueueFactory.getDefaultQueue();queue.add(TaskOptions.Builder.withUrl("/worker").param("key",key));response.sendRedirect("/");}}
En Worker.java:
// The Worker servlet should be mapped to the "/worker" URL.// With @WebServlet annotation the webapp/WEB-INF/web.xml is no longer required.@WebServlet(name="TaskWorker",description="TaskQueues: worker",urlPatterns="/taskqueues/worker")publicclassWorkerextendsHttpServlet{privatestaticfinalLoggerlog=Logger.getLogger(Worker.class.getName());protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Stringkey=request.getParameter("key");// Do something with key.// ...}}
Las tareas que se agregan a esta cola se ejecutarán mediante una llamada al controlador de la solicitud en la URL /worker con el parámetro key. Se ejecutarán a la velocidad establecida en el archivo queue.xml o a la velocidad predeterminada de 5 tareas por segundo.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[[["\u003cp\u003eThis content demonstrates how to add a task to a queue using legacy bundled services and APIs within the first-generation App Engine standard environment.\u003c/p\u003e\n"],["\u003cp\u003eThe provided \u003ccode\u003eindex.html\u003c/code\u003e includes a form to submit a value (\u003ccode\u003ekey\u003c/code\u003e) to the \u003ccode\u003e/enqueue\u003c/code\u003e URL for task queuing.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eEnqueue.java\u003c/code\u003e servlet handles POST requests to \u003ccode\u003e/taskqueues/enqueue\u003c/code\u003e, adding tasks with the provided \u003ccode\u003ekey\u003c/code\u003e to the default queue.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eWorker.java\u003c/code\u003e servlet, mapped to \u003ccode\u003e/taskqueues/worker\u003c/code\u003e, processes the tasks, receiving the \u003ccode\u003ekey\u003c/code\u003e parameter for execution.\u003c/p\u003e\n"],["\u003cp\u003eTasks in the queue are executed by calling the \u003ccode\u003e/worker\u003c/code\u003e request handler, with the rate determined by the \u003ccode\u003equeue.xml\u003c/code\u003e file or defaulting to 5 tasks per second.\u003c/p\u003e\n"]]],[],null,["# A Java Task Queue Example\n\nThe following code adds a task to a queue with options.\n| This page describes how to use the legacy bundled services and APIs. This API can only run in first-generation runtimes in the App Engine standard environment. If you are updating to the App Engine Java 11/17 runtime, refer to the [migration guide](/appengine/migration-center/standard/migrate-to-second-gen/java-differences) to learn about your migration options for legacy bundled services.\n\n\u003cbr /\u003e\n\nIn `index.html`: \n\n \u003c!-- A basic index.html file served from the \"/\" URL. --\u003e\n \u003chtml\u003e\n \u003cbody\u003e\n \u003cp\u003eEnqueue a value, to be processed by a worker.\u003c/p\u003e\n \u003cform action=\"/enqueue\" method=\"post\"\u003e\n \u003cinput type=\"text\" name=\"key\"\u003e\n \u003cinput type=\"submit\"\u003e\n \u003c/form\u003e\n \u003c/body\u003e\n \u003c/html\u003e\n\nIn `Enqueue.java`: \n\n // The Enqueue servlet should be mapped to the \"/enqueue\" URL.\n // With @WebServlet annotation the webapp/WEB-INF/web.xml is no longer required.\n @WebServlet(\n name = \"TaskEnque\",\n description = \"taskqueue: Enqueue a job with a key\",\n urlPatterns = \"/taskqueues/enqueue\"\n )\n public class Enqueue extends HttpServlet {\n\n protected void doPost(HttpServletRequest request, HttpServletResponse response)\n throws ServletException, IOException {\n String key = request.getParameter(\"key\");\n\n // Add the task to the default queue.\n Queue queue = QueueFactory.getDefaultQueue();\n queue.add(TaskOptions.Builder.withUrl(\"/worker\").param(\"key\", key));\n\n response.sendRedirect(\"/\");\n }\n }\n\nIn `Worker.java`: \n\n // The Worker servlet should be mapped to the \"/worker\" URL.\n // With @WebServlet annotation the webapp/WEB-INF/web.xml is no longer required.\n @WebServlet(\n name = \"TaskWorker\",\n description = \"TaskQueues: worker\",\n urlPatterns = \"/taskqueues/worker\"\n )\n public class Worker extends HttpServlet {\n\n private static final Logger log = Logger.getLogger(Worker.class.getName());\n\n protected void doPost(HttpServletRequest request, HttpServletResponse response)\n throws ServletException, IOException {\n String key = request.getParameter(\"key\");\n\n // Do something with key.\n // ...\n }\n }\n\nTasks added to this queue will execute by calling the request handler at the URL `/worker` with the parameter `key`. They will execute at the rate set in the `queue.xml` file, or the default rate of 5 tasks per second."]]