我使用PuTTy连接到我们的Ubuntu生产服务器.
我想使用Solr重新索引特定的模型.我想从Rails控制台运行reindex命令,即Modelname.reindex(因为它似乎比rake任务运行得更快.)
但是,我们正在查看大量数据,这种索引预计需要几个小时.
我希望能够在rails控制台中启动此任务,即使退出PuTTy,它也应该继续运行.这该怎么做?
Linux: Prevent a background process from being stopped after closing SSH client建议nohup,但我不知道是否/如何使用rails控制台.
解决方法
使用sudo apt-get install screen安装屏幕.然后使用屏幕运行它.现在你有一个单独的控制台窗口,可以使用Ctrl A分离,然后是D. Closing putty不会结束你的屏幕会话.如果您稍后重新登录,则可以使用screen -r恢复会话.
总结一下:
> sudo apt-get install screen > screen # pops up a new shell > rails c # run your reindex operation # press Ctrl + A,then D > exit # putty closes # reconnect using putty > screen -r # you should be back in your rails console