有没有办法在后台运行rails脚本/控制台的进程? 我有一个一次性的lib脚本,需要两天左右才能执行,我想将其设置为在后台运行。
类似的东西:
script/console
然后:
>> load 'script.rb' &
在命令行中,我只会这样做:
$ command &
我确实发现:http://backgroundrb.rubyforge.org/但这对于这个一次性的任务来说似乎有些过分。
我也尝试过:
$ ruby data_importer2.rb &
虽然这不会导入活动记录内容(错误:未初始化的常量ActiveRecord)
谢谢!
答案 0 :(得分:6)
您可以使用脚本运行器而不是控制台执行此操作:
./script/runner script.rb &
答案 1 :(得分:2)
您可以使用script / runner,或者如果您需要在某个时刻再次运行它,最简单的方法是将其包装在rake任务中。
答案 2 :(得分:2)
$ script/console
>> fork { load 'script.rb' }
>> Process.detach
>> # ...