【发布时间】:2020-03-21 12:44:48
【问题描述】:
我正在使用 App Engine 根据列表中的项目触发多个 Cloud Tasks 的创建:
function_url="https://us-central1-myproject.cloudfunctions.net/some-cloud-function"
someTasks = [
{'id': 'task-1'},
{'id': 'task-2'},
{'id': 'task-3'},
...
{'id': 'task-1000'},
]
当前使用以下命令创建任务:
Parallel(backend='threading', n_jobs=100)(
delayed(create_document_task)(function_url=function_uri, data=task) for task in someTasks
)
以上代码并行创建任务,并指示任务队列将负载定向到特定的云功能。
并行执行此操作是否是快速创建任务的正确方法?
【问题讨论】:
-
不行,您应该进行批量提交以减少 API 调用次数。见*.com/a/34457147/136598
-
旧的 App Engine 任务队列具有如上所述的异步批处理添加。但是,我不建议您使用旧功能,尤其是如果您已迁移到 Cloud Tasks。
-
@AveriKitsch 是上面的旧方法吗?如果不是这样,你知道如何批量添加任务到队列吗?
标签: python google-app-engine google-cloud-platform google-cloud-tasks