如何使用GoogleCloudTasksGo客户端库指定执行延迟?

如何使用GoogleCloudTasksGo客户端库指定执行延迟?,go,scheduled-tasks,google-cloud-tasks,Go,Scheduled Tasks,Google Cloud Tasks,我随后创建了一个任务,并阅读了“您还可以微调任务的配置,就像在将来安排应该执行任务的时间一样” 但是,我仍然不清楚如何有效地在我选择的延迟时间(atime.Duration)内安排执行,例如“请在20分钟内触发这些对象的清理” 相关LOC为CreateTaskRequest创建和任务创建: req := &taskspb.CreateTaskRequest{ Parent: queuePath, Task:

我随后创建了一个任务,并阅读了“您还可以微调任务的配置,就像在将来安排应该执行任务的时间一样”

但是,我仍然不清楚如何有效地在我选择的延迟时间(a
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 := &timestamppb.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,
                },
        }