use of com.google.cloud.tasks.v2.QueueName in project workbench by all-of-us.
the class ForwardingCloudTasksStub method createTaskCallable.
@Override
public UnaryCallable<CreateTaskRequest, Task> createTaskCallable() {
return new UnaryCallable<CreateTaskRequest, Task>() {
@Override
public ApiFuture<Task> futureCall(CreateTaskRequest request, ApiCallContext context) {
final QueueName queueName = QueueName.parse(request.getParent());
final AppEngineHttpRequest gaeReq = request.getTask().getAppEngineHttpRequest();
final Request apiReq = new Request.Builder().url(baseUrl + gaeReq.getRelativeUri()).headers(Headers.of(gaeReq.getHeadersMap())).addHeader("X-AppEngine-QueueName", queueName.getQueue()).post(RequestBody.create(MediaType.parse("application/json; charset=utf-8"), gaeReq.getBody().toStringUtf8())).build();
log.info(String.format("asynchronously forwarding task request for queue '%s', to handler '%s'", queueName.getQueue(), apiReq.url()));
OkHttpClient client = new OkHttpClient();
client.setReadTimeout(10, TimeUnit.MINUTES);
client.newCall(apiReq).enqueue(new Callback() {
@Override
public void onFailure(Request request, IOException e) {
log.log(Level.SEVERE, "task execution failed", e);
}
@Override
public void onResponse(Response response) {
}
});
return ApiFutures.immediateFuture(request.getTask());
}
};
}
use of com.google.cloud.tasks.v2.QueueName in project java-docs-samples by GoogleCloudPlatform.
the class PauseQueue method pauseQueue.
public static void pauseQueue(String projectId, String locationId, String queueId) throws Exception {
try (CloudTasksClient client = CloudTasksClient.create()) {
// TODO(developer): Uncomment these lines and replace with your values.
// String projectId = "your-project-id";
// String locationId = "us-central1";
// String queueId = "foo";
// Construct the fully qualified queue name.
String queueName = QueueName.of(projectId, locationId, queueId).toString();
client.pauseQueue(queueName);
System.out.println("Queue Paused.");
}
}
use of com.google.cloud.tasks.v2.QueueName in project java-docs-samples by GoogleCloudPlatform.
the class CreateTask method createTask.
public static void createTask(String projectId, String locationId, String queueId) throws Exception {
try (CloudTasksClient client = CloudTasksClient.create()) {
// TODO(developer): Uncomment these lines and replace with your values.
// String projectId = "your-project-id";
// String locationId = "us-central1";
// String queueId = "default";
String key = "key";
// Construct the fully qualified queue name.
String queueName = QueueName.of(projectId, locationId, queueId).toString();
// Construct the task body.
Task taskParam = Task.newBuilder().setAppEngineHttpRequest(AppEngineHttpRequest.newBuilder().setRelativeUri("/worker?key=" + key).setHttpMethod(HttpMethod.GET).build()).build();
Task taskPayload = Task.newBuilder().setAppEngineHttpRequest(AppEngineHttpRequest.newBuilder().setBody(ByteString.copyFrom(key, Charset.defaultCharset())).setRelativeUri("/worker").setHttpMethod(HttpMethod.POST).build()).build();
// Send create task request.
Task[] tasks = new Task[] { taskParam, taskPayload };
for (Task task : tasks) {
Task response = client.createTask(queueName, task);
System.out.println(response);
}
}
}
use of com.google.cloud.tasks.v2.QueueName in project java-docs-samples by GoogleCloudPlatform.
the class DeleteQueue method deleteQueue.
public static void deleteQueue(String projectId, String locationId, String queueId) throws Exception {
try (CloudTasksClient client = CloudTasksClient.create()) {
// TODO(developer): Uncomment these lines and replace with your values.
// String projectId = "your-project-id";
// String locationId = "us-central1";
// String queueId = "foo";
// Construct the fully qualified queue name.
String queueName = QueueName.of(projectId, locationId, queueId).toString();
client.deleteQueue(queueName);
System.out.println("Queue Deleted.");
}
}
use of com.google.cloud.tasks.v2.QueueName in project java-docs-samples by GoogleCloudPlatform.
the class Enqueue method doPost.
// Function creates Cloud Tasks from form submissions.
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String key = request.getParameter("key");
try (CloudTasksClient client = CloudTasksClient.create()) {
// Construct the fully qualified queue name.
String queueName = QueueName.of(projectId, locationId, "default").toString();
// Construct the task body.
Task task = Task.newBuilder().setAppEngineHttpRequest(AppEngineHttpRequest.newBuilder().setRelativeUri("/cloudtasks/worker?key=" + key).setHttpMethod(HttpMethod.POST).build()).build();
// Add the task to the default queue.
Task taskResponse = client.createTask(queueName, task);
System.out.println("Task created: " + taskResponse.getName());
}
response.sendRedirect("/");
}
Aggregations