как я могу запланировать задачу в API облачных задач?

# #google-tasks-api #google-cloud-tasks

Вопрос:

У меня есть требование, согласно которому мне нужно запланировать (т. Е. Выполнить) задачу через 540 секунд (т. е. 9 минут) после создания задачи.

Как я могу запланировать задачу после выполнения определенных шагов?

Я использую Java.

Вот мой код,

 public static void createTask(String projectId, String queueName, String location, String payload, String url,
        int timeDelayInSeconds) throws IOException {

    // [START cloud_tasks_appengine_create_task]
    // Instantiates a client.
    try (CloudTasksClient client = CloudTasksClient.create()) {

        // Construct the fully qualified queue name.
        String queuePath = QueueName.of(projectId, location, queueName).toString();
        OidcToken.Builder oidcTokenBuilder =
                  OidcToken.newBuilder().setServiceAccountEmail(GlobalConfig.TasksAndSchedulingUser);

        // Construct the task body using HTTP Request
        Task.Builder taskBuilder = Task.newBuilder().setHttpRequest(
                HttpRequest.newBuilder().setBody(ByteString.copyFrom(payload, Charset.defaultCharset())).setUrl(url)
                        .setHttpMethod(HttpMethod.POST)
                        .setOidcToken(oidcTokenBuilder)
                        .build())
                .setScheduleTime(Timestamp.newBuilder()
                        .setSeconds(Instant.now(Clock.systemUTC()).plusSeconds(timeDelayInSeconds).getEpochSecond()));

        // Send create task request.
        Task task = client.createTask(queuePath, taskBuilder.build());
        logger.info("Task created: "   task.getName());
    }
    // [END cloud_tasks_appengine_create_task]
}
 

Комментарии:

1. Здесь проблема в том, что с приведенным выше кодом он не ждет 9 минут. Он выполняет задачу немедленно. Итак, как мне это предотвратить?