定期应用程序在Docker容器中重新启动

时间:2013-11-01 16:00:06

标签: node.js docker

我们正在运行一个运行几个小时的Node.js / Express应用程序,然后开始抛出504错误,没有任何理由。由于我们目前无法跟踪这些错误,因此我们需要每小时左右重启应用程序,以确保它在周末仍在运行。

我们的Ubuntu服务器运行Dokku,然后为我们的应用程序设置容器。每次应用程序吐出504时,我们必须以root身份运行docker restart appid

那么每小时自动重启节点进程的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

  

没有充分理由抛出504错误

它正在抛出这些因为你的应用程序崩溃了

  

目前无法追踪这些错误

你必须追踪它们。它们很可能是未处理的异常,您可以通过以下方式捕获并记录:

process.on('uncaughtException', function(error) {
   //look Ma, I died
});
  

那么每小时自动重启节点进程的最佳方法是什么?

因为我感觉不好,至少没有试图解决你的实际问题,即使你肯定是以严重的方式解决症状而不是问题......

使用cron。在/etc/cron.hourly/restart_express中添加一个脚本来执行此操作。确保脚本文件具有执行权限并符合run-parts命名约束(无点等)。