如何使用GoogleCloudTasksGo客户端库指定执行延迟?
我随后创建了一个任务,并阅读了“您还可以微调任务的配置,就像在将来安排应该执行任务的时间一样” 但是,我仍然不清楚如何有效地在我选择的延迟时间(a如何使用GoogleCloudTasksGo客户端库指定执行延迟?,go,scheduled-tasks,google-cloud-tasks,Go,Scheduled Tasks,Google Cloud Tasks,我随后创建了一个任务,并阅读了“您还可以微调任务的配置,就像在将来安排应该执行任务的时间一样” 但是,我仍然不清楚如何有效地在我选择的延迟时间(atime.Duration)内安排执行,例如“请在20分钟内触发这些对象的清理” 相关LOC为CreateTaskRequest创建和任务创建: req := &taskspb.CreateTaskRequest{ Parent: queuePath, Task:
time.Duration
)内安排执行,例如“请在20分钟内触发这些对象的清理”
相关LOC为CreateTaskRequest
创建和任务
创建:
req := &taskspb.CreateTaskRequest{
Parent: queuePath,
Task: &taskspb.Task{
MessageType: &taskspb.Task_HttpRequest{
HttpRequest: &taskspb.HttpRequest{
HttpMethod: taskspb.HttpMethod_POST,
Url: url,
},
},
},
}
我应该考虑使用这个吗?
< P>你不需要云调度器。< /P> 您要查找的是字段.ScheduleTime
,其类型为*
将time.Duration
转换为将来的*Timestamp.Timestamp
日期非常简单(此处忽略任何亚秒精度):
上述规定适用于以下情况:
createdTask, err := client.CreateTask(ctx, req)
var d time.Duration = 20 * time.Minute
ts := ×tamppb.Timestamp{
Seconds: time.Now().Add(d).Unix(),
},
req := &taskspb.CreateTaskRequest{
Parent: queuePath,
Task: &taskspb.Task{
MessageType: &taskspb.Task_HttpRequest{
HttpRequest: &taskspb.HttpRequest{
HttpMethod: taskspb.HttpMethod_POST,
Url: url,
},
},
ScheduleTime: ts,
},
}