Netbeans和Rails:有没有办法让netbeans中的Run选项也启动thinking_sphinx?

时间:2009-04-08 13:27:11

标签: ruby-on-rails netbeans

我不想让我的开发机器上一直运行sphinx。当我通过netbeans运行我的应用程序时,我想要一种自动执行rake thinking_sphinx:start的方法。有没有办法做到这一点

[还 - 我正在使用Windows]

思维狮身人面像需要作为一个单独的过程运行。

1 个答案:

答案 0 :(得分:1)

您需要一个名为PsExec的第三方程序才能执行此操作。否则,您将无法使用Windows上的Ruby启动后台进程。

首先下载PsExec here。解压缩(至少)psexec.exe并手动运行一次 - 您必须同意许可证: - /。

之后,将以下行添加到您的Rails应用的script/server

system 'PATH_TO_PSEXEC/psexec -d rake.bat'

现在使用与服务器并行运行的命令创建rake.bat。将包含以下内容的文件放入Rails应用程序的根目录。

rake thinking_sphinx:start

此行应该可以解决问题,但可能会失败,例如当NetBeans的JRuby版本与主机上安装的Ruby不同时。或者如果没有安装Ruby。在这种情况下,您应该使用JRuby的完整路径调用rake:

"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