【发布时间】:2019-03-01 13:21:47
【问题描述】:
我正在使用 GAE 设置一个简单的 REST API,它允许我在 MongoDB 中处理数据。
此外,我有一个永久脚本(如守护进程),它正在运行基于 redis 的队列。
我需要将我的队列与我的服务器实例分开运行......我对如何在谷歌应用引擎中进行设置感到困惑。我应该使用新的服务器实例创建第二个项目吗?
我的 package.json 有这个:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node server.js"
},
我想我需要一个新项目或第二个应用引擎实例。感谢您在正确方向上的任何帮助。
感谢您的宝贵时间。
【问题讨论】:
-
您可以在现有应用程序中将其设为另一个service。长时间运行的任务是可能的,但它们并不适合 GAE。也许你可以把它分解成一个(可能是无穷无尽的)更小的任务序列,GAE 非常擅长这些。
-
我正在尝试将谷歌云任务用于我的解决方案,并带有“几秒钟内执行”选项
-
我还没有玩过这些,我只是使用常规的 GAE 推送任务。
-
是的,它们处于测试阶段.. 仍然不能很好地工作,因为没有太多文档,而且它对我不起作用。推送任务有限制吗?我可以设置无限推送任务吗?云任务对我来说似乎是一个不错的选择,因为它们可以让您在几秒钟内“延迟”您的工作......如果我在常规推送任务中执行 sleep 或 setTimeout,我的应用程序会失控吗?
-
你不需要在任务中睡觉——那是一种浪费。您可以在将它们排入队列时使用相对延迟/倒计时或绝对 ETA 来“稍后”安排它们。见stackoverflow.com/questions/40475174/…。有一些配额,但相当慷慨,我的应用程序甚至没有在其中产生影响。
标签: node.js google-app-engine redis pm2 forever