由于数据库事务繁重,我点击应用程序中的Export to Excel
链接时出现超时错误问题。
我想将此功能更改为后台,以便用户能够在后台进程运行时继续前进。
我希望当用户点击Export to Excel
链接后台/新线程进程运行时,会向用户发送一封电子邮件,其中包含下载文件的链接。
我想知道哪个是实现这个创建新线程或后台进程的最佳方法?
先谢谢
答案 0 :(得分:3)
您可能需要使用https://github.com/defunkt/resque或https://github.com/collectiveidea/delayed_job。
您还可以观看:
http://railscasts.com/episodes/271-resque
http://railscasts.com/episodes/171-delayed-job-revised
http://railscasts.com/episodes/171-delayed-job(上面的旧版但是免费 - 但是购买订阅是值得的)
答案 1 :(得分:0)
有三种类型的消息队列,
我没有使用resque,但听说配置有点复杂。 除了在后台运行任务外,如果要定期运行一些重复性任务,可以使用backgroundrb。否则延迟工作将是正确的选择。