我不想讓獅身人面像始終在我的開發機器上運行。當我通過netbeans運行我的應用程序時,我想要一種自動執行rake thinking_sphinx:start
的方法。有沒有辦法做到這一點Netbeans和Rails:有沒有辦法讓netbeans中的Run選項也啓動think_sphinx?
[也 - 我使用Windows]
思考獅身人面像需要作爲一個單獨的進程中運行。
我不想讓獅身人面像始終在我的開發機器上運行。當我通過netbeans運行我的應用程序時,我想要一種自動執行rake thinking_sphinx:start
的方法。有沒有辦法做到這一點Netbeans和Rails:有沒有辦法讓netbeans中的Run選項也啓動think_sphinx?
[也 - 我使用Windows]
思考獅身人面像需要作爲一個單獨的進程中運行。
您將需要一個名爲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的完整路徑:
"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
。