在我的Rails控制器中,我想下载一个文件到项目的public
文件夹中(使用Linux系统命令wget
)。然后我希望文件在那里呆一个小时,然后再调用命令rm
来删除它。我可以设置超时时间,以便代码执行在稍后恢复之前的某个时间点暂停?控制器中的Rails设置超时
2
A
回答
3
由于两个原因,您不能设置超时:
首先,进程将被Web服务器超时中止。
二,即使你设置的超时时间适合你的需求,负责等待的过程中,会吃掉资源,并且不会被使用。要解决这个问题,你必须分叉另一个服务器进程,你真的需要这个吗?
但是你可以使用https://github.com/jmettraux/rufus-scheduler
例如,在你的控制器
require 'rubygems'
require 'rufus/scheduler'
def download_using_wget
...
if some_method_to_wget_file
scheduler = Rufus::Scheduler.start_new
scheduler.in '1h' do
some_code_to_rm_file(file)
end
end
...
而且some_code_to_rm_file将在一小时后,你的wget文件
相关问题
- 1. 设置控制器动作超时
- 2. Ruby on Rails初始控制器设置
- 3. Hpricot在Rails控制器中的超时错误
- 4. 如何在rails UJS中设置超时?
- 5. 在Rails 3中设置会话超时
- 6. Rails控制器RESTful设计
- 7. 控制器超时MVC 3.0
- 8. 设置导航控制器时,根视图控制器始终设置为tableViewController
- 9. 在Rails 4控制器中设置默认变量的地方
- 10. 如何在Rails中设置控制器范围的变量?
- 11. 在Rails中设置控制器的默认页面
- 12. 控制面板的Rails文件设置?
- 13. 在web.config中强制超时设置
- 14. 设置自定义超时使用Rails
- 15. 从Rails控制器读取Rails控制器中的变量值
- 16. ExtJS4在控制器中的设置值
- 17. 如何在rspec控制器测试中设置Rails缓存
- 18. 在rails控制器中获取环境设置
- 19. 如何在rails控制器中设置html类属性?
- 20. 如何在rails中设置angularjs ng控制器form_for view
- 21. Rails控制器中的Process.fork
- 22. 设置控制器内容
- 23. Codeigniter控制器设置
- 24. 设置控制器测试
- 25. 视图控制器设置
- 26. Laravel 4设置控制器
- 27. 设置readLine()的超时限制?
- 28. 的Rails:控制器
- 29. Rails控制器
- 30. Rails控制器
检查此截屏启动。 http://railscasts.com/episodes/164-cron-in-ruby – HungryCoder