加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在Resque作业期间,Rails.root指向生产中的错误

发布时间:2020-12-17 01:19:48 所属栏目:百科 来源:网络整理
导读:我有两个同时排队的工作,一个工人连续运行它们.这两个作业都复制了我的Rails项目根目录中的builds /目录中的一些文件,并将它们放入一个临时文件夹中. 第一份工作总是成功,从来没有问题 – 哪个工作先运行也无关紧要.第一个将工作. 第二个在尝试复制文件时收
我有两个同时排队的工作,一个工人连续运行它们.这两个作业都复制了我的Rails项目根目录中的builds /目录中的一些文件,并将它们放入一个临时文件夹中.

第一份工作总是成功,从来没有问题 – 哪个工作先运行也无关紧要.第一个将工作.

第二个在尝试复制文件时收到此错误:

No such file or directory – /Users/apps/Sites/my-site/releases/20130829065128/builds/foo

该版本文件夹已有两周时间了,不应该仍在服务器上.它是空的,只包含一个公共/上传目录,没有别的.我已经杀死了我的所有工作人员并多次重新启动它们,并多次重新部署Rails应用程序.当我删除那个版本目录时,它再次成功.

我不知道该做什么.为什么这个工作者总是在这个旧版本目录中创建/查看?为什么只有第二个工人这样做?我通过使用以下方式获取路径:

Rails.root.join(‘builds’) – Rails.root显然是一个2周的capistrano发行版?我还应该提到这只发生在生产环境中.我能做什么

解决方法

在部署中没有重新启动(停止和启动)Rescue,这导致运行旧版本的代码.每个工作人员继续为队列服务,导致奇怪的错误或行为.

根据路径名称,您似乎使用Capistrano进行部署.

你在使用capistrano-resque宝石吗?如果没有,你应该看看.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读