使用Forever重新启动Node.js.

时间:2011-10-18 13:26:42

标签: javascript ruby node.js capistrano

我有一个用于部署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

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

因为重新启动未运行的服务器永远不起作用,所以我需要在它未运行时首先运行它。但我怎么做检查呢?

1 个答案:

答案 0 :(得分:0)

让你的重启任务调用停止并启动任务。

task :restart do
  stop
  sleep 5
  start
end