如何解决我如何在 Cloud Task API 中安排任务?
我有一个要求,我需要在任务创建 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]
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。