【问题标题】:Heroku node timeout because of enormous taskHeroku 节点因任务繁重而超时
【发布时间】:2015-02-12 16:50:10
【问题描述】:

我们的节点应用程序变得非常大,一项工作需要相当长的时间才能执行。我们使用 cronjob 运行此作业,但通过调用 URL。现在 Heroku 遇到了这个问题,因为这项工作需要 30 多秒才能完成。所以我们会收到一个超时,然后它会尝试一次又一次地立即执行它,直到我们的内存配额约为 300% 并且应用程序崩溃。

现在我想解决这个问题。在本地,我们运行这个脚本根本没有任何问题。大约需要一分钟(目前,但将来如果我们有更多用户,可能需要更多时间)才能完成并且内存保持稳定。

现在在后台运行这个脚本应该可以根据https://devcenter.heroku.com/articles/request-timeout#debugging-request-timeouts解决问题

在这里https://devcenter.heroku.com/articles/asynchronous-web-worker-model-using-rabbitmq-in-node#getting-started 我读到了 JackRabbit。不过好像是用在像 RabbitMQ https://github.com/hunterloftis/jackrabbit这样的系统上

所以我的问题是:有谁在 node 中处理后台任务的经验?我可以并且应该将 JackRabbit 用于我的后台任务,还是有更好的解决方案?我的后台任务只包含一个非常复杂的 ExpressJS 任务,需要一些时间来执行所以......

【问题讨论】:

    标签: node.js heroku


    【解决方案1】:

    我是 Heroku 的 Node.js 平台所有者(实际上我写了您引用的网络工作者文章)。

    您的用例听起来可能非常适合调度程序:

    它是 cron 类型作业的绝佳替代品。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      相关资源
      最近更新 更多