假设我有一个由cron作业调用的云Firebase函数,它在每次调用30+任务时都会生成它。
这些任务非常慢(平均每个任务5-6秒),我无法在原始文件中直接处理它们,因为它会超时。
因此,解决方案是调用另一个"worker“函数,每个任务一次,独立完成任务并将结果写入数据库。到目前为止,我能想到三种策略:
send之后的响应,而我的原始函数将超时。想到的另一个解决方案是火源队列,但它的自述文件明确指出:
“可能会继续有特定的用例用于Firebase队列,但是如果您要为Firebase寻找一个通用的、可伸缩的排队系统,那么构建基于Google功能的Firebase很可能是理想的路线。”
它没有得到官方的支持,他们实际上是说我们应该使用函数(这就是我想要做的)。我有点紧张,不想使用,因为它可能会被废弃的图书馆明天(如果还没有),并希望避免沿着这条路线。
发布于 2017-08-16 13:45:23
从云函数发送Pub/Sub消息
云函数在一个相当标准的Node.js环境中运行。考虑到Node/NPM生态系统的宽度,您可以在云功能中做的事情相当多。
似乎您只能在云函数中侦听pubsub消息,而不能创建一个
您可以使用Pub/Sub的常规Node.js模块从云函数中向Pub/Sub主题发布新消息。见示例的云Pub/Sub文档。
通过数据库写入触发云函数的新操作
这也是一个相当常见的模式。我通常会让我的子进程/工作人员在他们将结果写回数据库的同时进行清理。这在我的简单场景中很好,但是您的里程当然可能会有所不同。
如果您遇到了具体的清理问题,请发布再现问题的代码,我们可以查看如何使其更健壮。
https://stackoverflow.com/questions/45713690
复制相似问题