【发布时间】:2016-05-07 16:08:20
【问题描述】:
我正在生成 PDF 文档并将其临时存储到 /tmp 目录。生成文档并将其存储在目录中后(我使用 Sidekiq 作为后台进程执行此操作),然后将其上传到 Amazon S3 并从 /tmp 目录中删除。
我注意到,当用户生成文档并且我正在将一些新代码部署到服务器(使用 Capistrano)时,生成/上传文档的过程被中断。
我想知道这是否与 Sidekiq 有关?它在 Ubuntu 上作为 Upstart 服务运行,所以我不这么认为。
然后我认为问题可能是我将文档存储在/tmp 目录中。目录是如何工作的?当我使用 Capistrano 进行新部署时,目录的全部内容会被删除吗?
编辑:
文档生成通常需要 5-10 秒,但队列是 default,所以可能会因为队列中的 default 进程太多而导致进程失败?
【问题讨论】:
-
/tmp每次重启后都会清理目录。 -
`capistrano 为每个新部署的代码创建单独的文件夹
-
@illusionist 好的,所以当我开始生成文件时,它会保存到
/tmp,在我开始部署代码的那一刻,这个/tmp文件夹将变得无法访问应用程序,我我对吗? -
uploads/tmp现在将指向另一个somrelease/public/uploads/tmp
标签: ruby-on-rails ruby capistrano sidekiq tmp