【问题标题】:Google Cloud Node JS - Will all setTimeOuts be erased after each deploy?Google Cloud Node JS - 每次部署后都会删除所有 setTimeOuts 吗?
【发布时间】:2018-07-04 03:39:39
【问题描述】:

我只想了解服务器是否完全重新启动(干净状态),或者它是否设法迁移了从上一个版本运行的一些内存数据。

我听说节点应用程序同时有 10k - 100k 超时。在我的服务器的每个新版本 (gcloud app deploy) 上,我是否会丢失所有未执行的待处理功能并且我需要重新安排所有这些功能?

【问题讨论】:

  • 我猜这与您之前的问题 [Node Js Express .如何安排任务](stackoverflow.com/questions/48432356/…),我已经告诉过你,如果你希望它在服务器重新启动时保持不变,你必须自己保存计时器数据。
  • 是的,我只是想知道 Google Cloud 是否自己进行了某种内存管理

标签: node.js google-cloud-platform settimeout scalability gcloud


【解决方案1】:

node.js 服务器在上次运行时没有自己的内存。因此,如果您希望服务器从一次运行到下一次(例如重新启动后)保持某种状态,那么您必须自己在持久存储中维护该状态,并在服务器启动时重新读取该状态。

我会丢失所有未执行的待处理功能,我需要重新安排所有功能吗?

是的,您将失去所有这些。 node.js 本身不会保留计时器。您将需要自己持久化它们或使用不同的机制来为您持久化。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多