我正在生成PDF文档,并将其临时存储到/tmp目录中。一旦文档生成并存储在目录中(我使用Sidekiq作为后台进程),然后将其上传到Amazon并从S3目录中删除。
我注意到的是,当用户生成文档时,我将一些新代码部署到服务器(使用Capistrano)时,生成/上传文档的过程就会中断。
我想知道这是否和Sidekiq有关?它在Ubuntu上作为Upstart服务运行,所以我不这么认为。
然后,我想问题可能是我将文档存储在/tmp目录中。目录是如何工作的?当我使用Capistrano进行新的部署时,目录的全部内容是否被删除了?
编辑:
文档生成通常需要5-10秒,但是队列是default,所以进程可能会失败,因为队列中有太多的default进程?
发布于 2016-05-07 16:32:45
/tmp目录只应在服务器启动期间被清除(因为@Зелёный已经注释过了)。但是您的PDF生成/上传可能会花费太长时间,而这个过程可能会被扼杀。这是文档化的这里,我引用了文档中的话:
停止pidfile 60 这发送期限,等待多达60秒,然后将杀死-9的Sidekiq进程,如果它还没有退出。请记住,截止日期超时是在Sidekiq进程上运行杀害-9之前,sidekiqctl将等待的时间。
在capistrano部署期间,应该在控制台输出中显示详细信息,因此,如果不是进程被终止的情况,请将输出添加到问题中。
https://stackoverflow.com/questions/37090750
复制相似问题