我有两个工作同时排队,一个工人接着运行它们。这两个工作都从根目录下的builds/
目录中复制一些文件,并将它们放到临时文件夹中。
第一个工作总是成功的,从来没有问题 - 不管哪个工作先运行。第一个工作总是有效的。
第二个工作在尝试复制文件时收到以下错误:
没有那个文件或目录 - /Users/apps/Sites/my-site/releases/20130829065128/builds/foo
那个 releases 文件夹已经两周了,不应该还在服务器上。它是空的,只有一个 public/uploads 目录,没有其他东西。我已经杀死了所有的工人并多次重新启动它们,也多次重新部署了 Rails 应用程序。但当我删除那个 releases 目录时,它会再次创建。
我不知道该怎么办了。为什么这个工人总是创建/查看这个旧的 releases 目录?为什么只有第二个工人会这样做?我正在使用以下代码获取路径:
Rails.root.join('builds')
- Rails.root 显然是一个两周前的 Capistrano 发布版本?我应该还提一下,这只发生在生产环境中。我该怎么办?
Dir.chdir
的引用?请参考以下文档:http://www.ruby-doc.org/core-2.1.2/Dir.html#method-c-chdir - Iuri G.