以编程方式从发布订阅触发的云功能创建额外的云任务队列

Programatically create additional cloud task queues from pub sub triggered cloud functions

使用云函数调度云任务,在调度的时间云任务触发HTTP端点。截至目前,已创建具有以下配置的单个队列。 每个 second:500 的最大调度数 最大并发调度:1000 最大尝试次数:5

云函数被发布订阅触发。在第二个 pub sub 中可能会收到 10000 条消息,而云函数又会扩展并将创建 10000 个任务。

问题: 如果扩展的云功能必须创建更多任务并将其分配给不同的队列,那么云功能必须如何最好地决定和创建队列并将任务分配给不同的队列,同时考虑冷和暖队列功能以避免延迟。

我通读了这个官方文档,但是对于傻瓜来说不是很清楚https://cloud.google.com/tasks/docs/manage-cloud-task-scaling#queue

回到你原来的问题,如果你的流程是时间敏感的,你需要同时触发超过500个请求,你需要创建额外的队列(如文档中所述)

要在多个队列中分派 AMQP 消息,您需要定义所需队列的数量和分片键。如果你有一个数字 ID,你可以使用模 X(X 是队列的数量)作为键并使用相应的队列名称。您还可以使用哈希或您的数据。

在你的进程中,如果队列存在,添加一个任务到它,或者创建它,然后添加它。无论如何,队列不能超过 1000 个。