2013-03-01 48 views
2

我是Rails的新手 我在我的控制器動作中有一個系統調用。如何避免在Ruby on Rails中通過調用系統調用阻止

%x [ run_my_script ] 

將多個小時運行... 我發現當我調用系統調用,我不能再打開同一個頁面, 因爲我猜軌在等待的回報忙於系統調用。

如果我想執行頁面平行 我該怎麼辦? 使用線程? 我已經試過sidekiq,它會消耗大量的內存! 有沒有什麼想法... 謝謝大家提前。

+3

使用與delayed_job的? https://rubygems.org/gems/delayed_job – pierallard 2013-03-01 11:19:28

+0

看看有關[Process]的相關問題(http://stackoverflow.com/questions/5949008/executing-shell-command-in-background-from-ruby-帶有適當參數的轉義) – toch 2013-03-01 12:02:04

回答

1

您可以在結尾使用系統命令&在後臺運行,它..不知道你是否能%×[]

system "run_my_script &" 
+0

僅供參考:「'&'命令對我來說沒有反作用:'' – ScottJShea 2013-08-13 00:27:38