1

我在 delay_job gem 的帮助下在后台生成 xls 文件。在此之后,我想将文件发送给用户。有没有办法在 delay_job 类的控制器之外调用 send_file 方法?

4

1 回答 1

4

如果您将任务后台处理到delayed_job,则用户的请求将不再存在。如果它仍然存在,那么您根本不需要后台任务(因为它破坏了后台的整个目的)。

我的建议是在 delay_job 生成文件后将文件与相应的数据库记录一起保存到磁盘。当用户等待时,让 Ajax 偶尔询问服务器文件是否准备好。准备就绪后,使用 Ajax 对文件发出新请求、显示下载链接或任何最有效的方式。

于 2013-02-01T15:20:22.397 回答