0
我在我的控制器中有一個方法,該方法由我的Rails應用程序中的鏈接觸發。一切在開發模式下都能正常工作,但無論出於何種原因,它在生產模式下都不起作用。每當我打電話給其中一個命令時,它就會變成它想要做某事的齒輪,但從來沒有真正做過任何事情。然而,奇怪的是,太陽黑子的REINDEX確實有效。我正在查看我的生產日誌並監視由每個服務創建的PID文件。另外,如果我在我的SSH終端會話中正常運行這些命令,它們工作正常。在Rails方法中使用Shell命令切換服務/任務
def toggle_service
command = params[:string].to_s
if command == 'stop_mailman_server'
system("ruby #{::Rails.root}/script/mailman_daemon.rb stop")
elsif command == 'start_mailman_server'
system("ruby #{::Rails.root}/script/mailman_daemon.rb start")
elsif command == 'start_search_server'
system("rake sunspot:solr:start RAILS_ENV=#{Rails.env}")
elsif command == 'stop_search_server'
system("rake sunspot:solr:stop RAILS_ENV=#{Rails.env}")
elsif command == 'reindex_search_server'
system("rake sunspot:reindex RAILS_ENV=#{Rails.env}")
end
redirect_to :back
end
僅用於代碼改進:用例代替if/elsif和符號:) – Hannes 2013-12-03 22:06:36