4

当我尝试通过 capistrano 部署我的应用程序时,在 ts:stop 命令上有无限冻结,因此部署过程无法顺利完成。有任何想法吗?

在此处输入图像描述

这是一个跟踪日志:

** Invoke ts:stop (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute ts:stop
4

2 回答 2

1

在我看来,问题来自我认为找不到的 pid_file。该文件必须在 Capistrano 版本控制之外。

文档中所述,您的以下内容中应该有类似的内容thinking_sphinx.yml

production:
  mysql41: 9312
  enable_star: true
  min_prefix_len: 3
  utf8: true
  pid_file: /my_project/sphinx/production.searchd.pid
  indices_location: /my_project/pinchix/shared/sphinx

如果你不这样做,因为 Capistrano 正在创建版本控制文件夹,Thinking Sphinx 将无法在部署文件夹上找到 pid(默认情况下它正在搜索当前文件夹)然后会阻塞,因为它无法启动新的如果另一个已经启动(端口不是空闲的),则返回一个。

于 2014-06-21T11:19:45.697 回答
0

Make sure you're starting sphinx and running after deploy hooks with the same ruby version. In my case versions was different and setting rvm default and specifying ruby version and correct gemset in deploy.rb solved the problem.

于 2014-10-21T03:56:00.123 回答