NetBeans и Rails: есть ли способ заставить опцию Run в NetBeans также начать думать_сфинкс? - PullRequest
0 голосов
/ 08 апреля 2009

Я не хочу, чтобы сфинкс постоянно работал на моей машине разработчика. Мне нужен способ автоматического выполнения rake thinking_sphinx:start, когда я запускаю свое приложение через netbeans. Есть ли способ сделать это

[также - я использую Windows]

Мышление сфинкса должно выполняться как отдельный процесс.

1 Ответ

1 голос
/ 16 апреля 2009

Для этого вам понадобится сторонняя программа PsExec. В противном случае вы не сможете запустить фоновый процесс, используя Ruby в Windows.

Прежде всего, скачайте PsExec здесь . Распакуйте (как минимум) psexec.exe и запустите его один раз вручную - вы должны согласиться с лицензией: - /.

После этого добавьте следующую строку в script/server вашего Rails-приложения:

system 'PATH_TO_PSEXEC/psexec -d rake.bat'

Теперь вы создаете rake.bat с командами для параллельного запуска с вашим сервером. Поместите файл со следующим содержимым в корневой каталог приложения Rails.

rake thinking_sphinx:start

Эта строка должна помочь, но может потерпеть неудачу, например. когда версия JRuby NetBeans отличается от установленной на вашем хосте Ruby. Или если Ruby вообще не установлен. В этом случае вы должны вызвать rake с полным путем JRuby:

"PATH_TO_NETBEANS/ruby2/jruby-1.2.0/bin/jruby" "PATH_TO_NETBEANS/ruby2/jruby-1.2.0/bin/rake" thinking_sphinx:start

Когда вы сейчас запускаете сервер, появляется дополнительная командная строка Windows с запущенной задачей rake.

Само собой разумеется, что вы не должны добавлять код к script/server на вашем производственном сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...