Aviso: En los próximos meses, reorganizaremos el sitio de documentación de App Engine para facilitar la búsqueda de contenido y alinearlo mejor con el resto de los productos de Google Cloud. El mismo contenido estará disponible, pero la navegación ahora coincidirá con el resto de los productos de Cloud.
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>
// 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"
)
public class Enqueue extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String key = request.getParameter("key");
// Add the task to the default queue.
Queue queue = QueueFactory.getDefaultQueue();
queue.add(TaskOptions.Builder.withUrl("/worker").param("key", key));
response.sendRedirect("/");
}
}
// 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"
)
public class Worker extends HttpServlet {
private static final Logger log = Logger.getLogger(Worker.class.getName());
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String key = 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.