我已经构建了我自己的作业服务器,它本质上是一个私有gem,作为围绕resque的包装而构建。无Rakefile运行resque
(我不是在Rails环境中运行这个)
我到处看,它似乎是一个记录/推荐的方式开始了工人,是这样的:
$ QUEUE=* rake resque:work
哪意味着它必须在Rakefile存在的文件夹中执行。
我正在寻找一种方法来启动它没有Rakefile。
我已经学会为止:
- 我已经通过issues看,也许有人问过类似的问题。
- 我已经浏览了wiki,特别是FAQ。
- 我知道我可以通过分析tasks file创建我自己的“bin”来运行它,而不用耙子。
- 我看到resque安装了一个
resque
二进制文件,但它似乎只提供有限的功能,例如删除和列出工作人员,但没有启动。 - 我目前的解决方法是,我的宝石的二进制文件在运行之前(和该文件夹有一个Rakefile)在做gem的文件夹
chdir
,就像下面的代码一样。
def start_worker
ENV['QUEUE'] = '*'
Dir.chdir gemdir do
exec "rake resque:work"
end
end
def gemdir
File.expand_path "../../", __dir__
end
欣赏在正确的方向上的任何轻推。