我每天晚上运行一次cronjob,以将通知发送给数据库中的一组用户,称为1-100。但是,最近随着用户数量的增加,这项工作的运行时间越来越长。有没有一种方法可以使pub / sub主题触发多个作业,比如触发一个作业以处理1-50个用户,另一个触发51-100个用户?
答案 0 :(得分:0)
当然,只需按照某种存储方案(可能是其UID取模)对用户进行分区,为这些分区创建更多的pubsub主题和功能,并为要处理的用户的每个分区向这些主题发送消息。因此,在您的主要预定函数中,只需将消息发送到每个pubsub主题分区,然后让委托函数完成其工作即可。
如果还没有,请考虑增加主功能的超时,以防它仅需要更多时间来完成流程。 Cloud Functions后台触发器的最大超时为9分钟。