【问题标题】:Google Cloud functions activate谷歌云功能激活
【发布时间】:2019-12-03 22:42:33
【问题描述】:

我想激活我的 Google Cloud 功能。

Test function 测试工作正常,但最多只能运行 1-2 小时,然后就不再活动了。 它是一个 nodeJS 后端模块,等待呼叫并回答这些呼叫。我需要它 24/7 全天候运行。

谢谢

【问题讨论】:

  • 您能否澄清一些问题? “激活”是什么意思?
  • 我希望模块一直运行——当我运行“测试功能”时,它只运行几个小时。我可以付钱,但想知道在哪里打开它。没有崩溃日志,所以“测试功能”似乎会自动终止。
  • 是什么让你认为它“没有运行”?我对 Cloud Functions 的理解是,您注册了一个在调用时保证执行的函数。您定义一些代码并将该代码(处理程序)注册到云函数。然后调用该函数并运行它。您的代码是一个请求处理程序......它仅在请求到达时调用。您不能在云函数中连续运行逻辑。
  • 在我自己的服务器上使用“npmjs.com/package/forever”时,它会在 24/7 运行时响应调用,当使用“测试功能”时,请求处理程序仅活动 1-2 小时并正常工作。 ......为什么它仍然被称为“测试”?我需要一个普通的请求处理程序
  • 啊,我明白了! stackoverflow.com/questions/45363313/… 帮助了我。尽管没有引发错误,但我的函数运行不正确。您需要在函数末尾返回“res.send('some message')”,否则执行不会给出 200 代码。测试只是对您的处理程序的一个请求,功能应该已经在部署时 24/7 工作!

标签: google-cloud-functions


【解决方案1】:

Google Cloud Functions 不打算持续运行。它们应该在某些东西触发功能然后停止的那一刻运行。正如您所提到的,您正在使用控制台的测试运行它们。我建议您使用触发器选项卡中的 Http 链接来触发它们,您可以在此 Events and Triggers 文档中找到有关如何正确触发触发器的更多信息。

【讨论】:

  • 谢谢。如果我的谷歌云功能崩溃了,我该如何重置整个环境?
  • 云功能是无服务器的。这意味着您不能直接对基础架构进行操作,因为它是自动处理的,如果您的崩溃函数 Cloud Function 自动负责在新机器上执行您的函数并修复挂起的机器。你可以在这里阅读更多相关信息:cloud.google.com/functions/docs/concepts/…
  • 谢谢。我试图以“抛出新错误('我失败')”退出,然后文档说应该进行冷启动,但只有当我按下“测试功能”时,我的功能才会真正重置。抛出错误只是退出它,但似乎内存和环境没有重置。
  • 是的,正如本文档所述,环境可以重复利用,通常情况下也是如此。您应该注意,使用 Cloud Functions,您无法控制环境或机器,它会进行冷启动,或根据系统需要重新利用环境。当您按下测试功能时,您的功能可能在测试期间在新机器上运行,但主要功能仍然在同一台机器上。如果您需要控制环境,我建议您使用 Cloud App Engine 或仅使用 GCE 实例。
猜你喜欢
  • 2021-10-11
  • 2017-11-14
  • 2021-08-02
  • 2019-12-12
  • 2019-05-14
  • 2020-09-03
  • 2021-10-12
  • 2018-12-11
  • 1970-01-01
相关资源
最近更新 更多