我正在使用this package将Google Cloud任务添加到我的项目中,它工作得很好。问题是我不知道如何增加http目标请求超时?
h5qlskok1#
如果您使用nodejs创建任务,请使用dispatchDeadline。来源:https://googleapis.dev/nodejs/tasks/latest/google.cloud.tasks.v2beta3.Task.html示例实施方式:
dispatchDeadline
//npm install --save @google-cloud/tasks const client = new CloudTasksClient(); const project = 'your-project-name'; const queue = 'your-queue-name'; const location = 'us-central1'; const parent = client.queuePath(project, location, queue); const serviceAccountEmail = 'user@projectname_or_whatever.iam.gserviceaccount.com'; const url = 'http://destination_url' const payload = JSON.stringify({ "user": "Manuel Solalinde", 'mode': 'secret mode' }) const body = Buffer.from(payload).toString('base64') // task creation documentation: https://googleapis.dev/nodejs/tasks/latest/google.cloud.tasks.v2beta3.Task.html const task = { httpRequest: { httpMethod: 'POST', url: url, dispatchDeadline: 30 * 60, //30 minutes body: body, headers: { "Content-type": "application/json" }, oidcToken: { serviceAccountEmail, }, }, }; // Send create task request. console.log('Sending task:'); const [response] = await client.createTask({ parent, task }); console.log(`Created task ${response.name}`);
bcs8qyzn2#
Tasks对象的dispatch_deadline属性应该允许您延长请求超时。HTTP目标的默认值为10分钟。Cloud Tasks客户端库PHP文档
dispatch_deadline
5jvtdoz23#
我不能评论,由于缺乏声誉,但第一个解决方案是不正确的。dispatch_deadline是任务请求的一部分,而不是httpRequest。它应该被移出该对象的一个级别。
task: { dispatch_deadline: 200 httpRequest: { } }
然而,我试图实现这一点,不幸的是,当你添加这个标志时,请求挂起。我的请求从来没有通过创建一个任务。我认为这是一个破碎的功能。
qncylg1j4#
如果你使用NodeJS,修改request以允许超时长达30分钟,如下所示:
request
request.task.dispatchDeadline = { seconds: 60 * 30 }
合作伙伴:
@google-cloud/tasks : 3.1.2
4条答案
按热度按时间h5qlskok1#
如果您使用nodejs创建任务,请使用
dispatchDeadline
。来源:https://googleapis.dev/nodejs/tasks/latest/google.cloud.tasks.v2beta3.Task.html示例实施方式:
bcs8qyzn2#
Tasks对象的
dispatch_deadline
属性应该允许您延长请求超时。HTTP目标的默认值为10分钟。Cloud Tasks客户端库PHP文档
5jvtdoz23#
我不能评论,由于缺乏声誉,但第一个解决方案是不正确的。dispatch_deadline是任务请求的一部分,而不是httpRequest。它应该被移出该对象的一个级别。
然而,我试图实现这一点,不幸的是,当你添加这个标志时,请求挂起。我的请求从来没有通过创建一个任务。我认为这是一个破碎的功能。
qncylg1j4#
如果你使用NodeJS,修改
request
以允许超时长达30分钟,如下所示:合作伙伴: