永久重启 Node.js

发布于 2024-12-10 16:50:42 字数 558 浏览 0 评论 0原文

我有一个用于部署 Node.js 应用程序的 Capistrano 配方

 task :start, :roles => :app do
   run "cd #{current_path} && NODE_ENV=#{node_env} forever start socket-server.js"
 end

 task :stop, :roles => :app do
   run "cd #{current_path} && NODE_ENV=#{node_env} forever stop socket-server.js"
 end

 task :restart, :roles => :app do
   run "cd #{current_path} && NODE_ENV=#{node_env} forever restart socket-server.js"
 end

问题是“重新启动”任务,应该检查服务器是否已经在运行。

因为永远重新启动未运行的服务器槽是行不通的,所以我需要在它未运行时先运行它。但我该如何检查呢?

I have a Capistrano recipe for deploying a Node.js application

 task :start, :roles => :app do
   run "cd #{current_path} && NODE_ENV=#{node_env} forever start socket-server.js"
 end

 task :stop, :roles => :app do
   run "cd #{current_path} && NODE_ENV=#{node_env} forever stop socket-server.js"
 end

 task :restart, :roles => :app do
   run "cd #{current_path} && NODE_ENV=#{node_env} forever restart socket-server.js"
 end

The problem is the "restart" task, there should be a check if the server is already running.

Because restarting a not running server trough forever doesn't work, I need to run it first when it is not running. But how I can do the check ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

多彩岁月 2024-12-17 16:50:42

让您的重新启动任务调用停止和启动任务。

task :restart do
  stop
  sleep 5
  start
end

Make your restart task call the stop and start tasks.

task :restart do
  stop
  sleep 5
  start
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文