// [START adding_tasks_to_a_pull_queue] Queue q = QueueFactory.getQueue("pull-queue"); q.add(TaskOptions.Builder.withMethod(TaskOptions.Method.PULL) .payload("hello world")); // [END adding_tasks_to_a_pull_queue] // [START leasing_tasks_1] Queue q = QueueFactory.getQueue("pull-queue"); List tasks = q.leaseTasks(3600, TimeUnit.SECONDS, 100); // [END leasing_tasks_1] // [START leasing_tasks_2] Queue q = QueueFactory.getQueue("pull-queue"); q.add(TaskOptions.Builder.withMethod(TaskOptions.Method.PULL) .payload("parse1") .tag("parse".getBytes())); q.add(TaskOptions.Builder.withMethod(TaskOptions.Method.PULL) .payload("parse2") .tag("parse".getBytes())); q.add(TaskOptions.Builder.withMethod(TaskOptions.Method.PULL) .payload("render1") .tag("render".getBytes())); q.add(TaskOptions.Builder.withMethod(TaskOptions.Method.PULL) .payload("render2") .tag("render".getBytes())); // Lease render tasks, but not parse q.leaseTasksByTag(3600, TimeUnit.SECONDS, 100, "render"); // You can also specify a tag to lease via LeaseOptions passed to leaseTasks. // [END leasing_tasks_2] // [START leasing_tasks_3] private static void leaseAndDeleteTask() throws IOException { Task task = new Task(); List leasedTasks = task.lease(projectName, taskQueueName, leaseSecs, numTasks); if (leasedTasks.size() == 0) { System.out.println("No tasks to lease and hence exiting"); } for (Task leasedTask : leasedTasks) { leasedTask.executeTask(); leasedTask.delete(); } } // [END leasing_tasks_3] // [START leasing_tasks_4] mvn -q exec:java -Dexec.args="your-project-id pull-queue 30 100" // [END leasing_tasks_4] // [START leasing_tasks_5] POST https://www.googleapis.com/taskqueue/v1beta2/projects/your-project-id/taskqueues/pull-queue/tasks/lease?leaseSecs=30&numTasks=100 // [END leasing_tasks_5] // [START leasing_tasks_6] { "kind": "taskqueues#tasks", "items": [ { "kind": "taskqueues#task", "id": string, "queueName": string, "payloadBase64": string, "enqueueTimestamp": number, "leaseTimestamp": number, "tag": string } ... ] } // [END leasing_tasks_6] // [START deleting_tasks_1] Queue q = QueueFactory.getQueue("pull-queue"); q.deleteTask("foo"); // [END deleting_tasks_1] // [START deleting_tasks_2] private static void leaseAndDeleteTask() throws IOException { Task task = new Task(); List leasedTasks = task.lease(projectName, taskQueueName, leaseSecs, numTasks); if (leasedTasks.size() == 0) { System.out.println("No tasks to lease and hence exiting"); } for (Task leasedTask : leasedTasks) { leasedTask.executeTask(); leasedTask.delete(); } } // [END deleting_tasks_2] // [START deleting_tasks_3] public void delete() throws HttpResponseException, IOException { HttpRequest request = Util.TRANSPORT.buildDeleteRequest(); String projectName = getProjectFromQueueName(); String queueName = getQueueFromQueueName(); if (projectName.isEmpty() || queueName.isEmpty()) { System.out.println("Error parsing full queue name:" + this.queueName + " Hence unable to delete task" + this.id); return; } request.url = TaskQueueUrl.forTaskQueueServiceTasks(projectName, queueName); request.url.pathParts.add(this.id); try { request.execute(); } catch (HttpResponseException hre) { System.out.println("Error deleting task: " + this.id); throw hre; } } // [END deleting_tasks_3] // [START importing_the_client_library_for_Java_1] import com.google.api.client.googleapis.GoogleHeaders; import com.google.api.client.googleapis.GoogleUtils; import com.google.api.client.http.HttpTransport; import com.google.api.client.http.javanet.NetHttpTransport; ... public static final HttpTransport TRANSPORT = newTransport(); ... static HttpTransport newTransport() { HttpTransport result = new NetHttpTransport(); GoogleUtils.useMethodOverride(result); GoogleHeaders headers = new GoogleHeaders(); headers.setApplicationName("Google-TaskQueueSample/1.0"); result.defaultHeaders = headers; return result; } ... // [END importing_the_client_library_for_Java_1] // [START importing_the_client_library_for_Java_2] public void get(String projectName, String taskQueueName, boolean getStats) throws IOException { HttpRequest request = Util.TRANSPORT.buildGetRequest(); request.url = TaskQueueUrl.forTaskQueueServiceQueues(projectName, taskQueueName, getStats); return request.execute().parseAs(TaskQueue.class); } // [END importing_the_client_library_for_Java_2]