Search in sources :

Example 1 with CloudTasksClient

use of com.google.cloud.tasks.v2.CloudTasksClient in project java-docs-samples by GoogleCloudPlatform.

the class CreateQueue method createQueue.

public static void createQueue(String projectId, String locationId, String queueBlueName, String queueRedName) 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 queueBlueName = "queue-blue";
        // String queueRedName = "queue-red";
        LocationName parent = LocationName.of(projectId, locationId);
        Queue queueBlue = Queue.newBuilder().setName(QueueName.of(projectId, locationId, queueBlueName).toString()).setRateLimits(RateLimits.newBuilder().setMaxDispatchesPerSecond(5.0)).setAppEngineRoutingOverride(AppEngineRouting.newBuilder().setVersion("v2").setService("task-module")).build();
        Queue queueRed = Queue.newBuilder().setName(QueueName.of(projectId, locationId, queueRedName).toString()).setRateLimits(RateLimits.newBuilder().setMaxDispatchesPerSecond(1.0)).build();
        Queue[] queues = new Queue[] { queueBlue, queueRed };
        for (Queue queue : queues) {
            Queue response = client.createQueue(parent, queue);
            System.out.println(response);
        }
    }
}
Also used : CloudTasksClient(com.google.cloud.tasks.v2.CloudTasksClient) Queue(com.google.cloud.tasks.v2.Queue) LocationName(com.google.cloud.tasks.v2.LocationName)

Example 2 with CloudTasksClient

use of com.google.cloud.tasks.v2.CloudTasksClient 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.");
    }
}
Also used : CloudTasksClient(com.google.cloud.tasks.v2.CloudTasksClient)

Example 3 with CloudTasksClient

use of com.google.cloud.tasks.v2.CloudTasksClient in project java-docs-samples by GoogleCloudPlatform.

the class RetryTask method retryTask.

public static void retryTask(String projectId, String locationId, String fooqueue, String barqueue, String bazqueue) 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 fooqueue = "fooqueue";
        // String barqueue = "barqueue";
        // String bazqueue = "bazqueue";
        LocationName parent = LocationName.of(projectId, locationId);
        Duration retryDuration = Duration.newBuilder().setSeconds(2 * 60 * 60 * 24).build();
        Duration min = Duration.newBuilder().setSeconds(10).build();
        Duration max1 = Duration.newBuilder().setSeconds(200).build();
        Duration max2 = Duration.newBuilder().setSeconds(300).build();
        Queue foo = Queue.newBuilder().setName(QueueName.of(projectId, locationId, fooqueue).toString()).setRateLimits(RateLimits.newBuilder().setMaxDispatchesPerSecond(1.0)).setRetryConfig(RetryConfig.newBuilder().setMaxAttempts(7).setMaxRetryDuration(retryDuration)).build();
        Queue bar = Queue.newBuilder().setName(QueueName.of(projectId, locationId, barqueue).toString()).setRateLimits(RateLimits.newBuilder().setMaxDispatchesPerSecond(1.0)).setRetryConfig(RetryConfig.newBuilder().setMinBackoff(min).setMaxBackoff(max1).setMaxDoublings(0)).build();
        Queue baz = Queue.newBuilder().setName(QueueName.of(projectId, locationId, bazqueue).toString()).setRateLimits(RateLimits.newBuilder().setMaxDispatchesPerSecond(1.0)).setRetryConfig(RetryConfig.newBuilder().setMinBackoff(min).setMaxBackoff(max2).setMaxDoublings(3)).build();
        Queue[] queues = new Queue[] { foo, bar, baz };
        for (Queue queue : queues) {
            Queue response = client.createQueue(parent, queue);
            System.out.println(response);
        }
    }
}
Also used : CloudTasksClient(com.google.cloud.tasks.v2.CloudTasksClient) Duration(com.google.protobuf.Duration) Queue(com.google.cloud.tasks.v2.Queue) LocationName(com.google.cloud.tasks.v2.LocationName)

Example 4 with CloudTasksClient

use of com.google.cloud.tasks.v2.CloudTasksClient 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);
        }
    }
}
Also used : Task(com.google.cloud.tasks.v2.Task) CloudTasksClient(com.google.cloud.tasks.v2.CloudTasksClient) ByteString(com.google.protobuf.ByteString)

Example 5 with CloudTasksClient

use of com.google.cloud.tasks.v2.CloudTasksClient 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.");
    }
}
Also used : CloudTasksClient(com.google.cloud.tasks.v2.CloudTasksClient)

Aggregations

CloudTasksClient (com.google.cloud.tasks.v2.CloudTasksClient)12 Task (com.google.cloud.tasks.v2.Task)5 LocationName (com.google.cloud.tasks.v2.LocationName)3 Queue (com.google.cloud.tasks.v2.Queue)3 ByteString (com.google.protobuf.ByteString)3 AppEngineHttpRequest (com.google.cloud.tasks.v2.AppEngineHttpRequest)1 UpdateQueueRequest (com.google.cloud.tasks.v2.UpdateQueueRequest)1 Duration (com.google.protobuf.Duration)1 IOException (java.io.IOException)1 CommandLine (org.apache.commons.cli.CommandLine)1 CommandLineParser (org.apache.commons.cli.CommandLineParser)1 DefaultParser (org.apache.commons.cli.DefaultParser)1 Options (org.apache.commons.cli.Options)1 ParseException (org.apache.commons.cli.ParseException)1 AppUrl (teammates.common.util.AppUrl)1