【发布时间】:2016-12-29 06:06:44
【问题描述】:
我已经构建了自己的作业服务器,它本质上是一个私有 gem,构建为 resque 的包装器。
(我没有在 Rails 环境中运行它)
我所看到的任何地方,似乎记录/推荐的启动工作人员的方式是这样的:
$ QUEUE=* rake resque:work
这意味着它必须在Rakefile存在的文件夹中执行。
我正在寻找一种无需 Rakefile 即可启动它的方法。
到目前为止我学到了什么:
- 我看过issues,可能有人问过类似的问题。
- 我查看了wiki,特别是FAQ。
- 我知道,通过分析tasks file,我可以创建自己的“bin”以在不使用 rake 的情况下运行它。
- 我看到 resque 安装了一个
resque二进制文件,但它似乎只提供有限的功能,例如删除和列出工作人员,而不是启动。 - 我目前的解决方法是,我的 gem 的二进制文件在运行之前对 gem 的文件夹执行
chdir(并且此文件夹有一个 Rakefile),如下面的代码。
def start_worker
ENV['QUEUE'] = '*'
Dir.chdir gemdir do
exec "rake resque:work"
end
end
def gemdir
File.expand_path "../../", __dir__
end
感谢任何朝着正确方向的推动。
【问题讨论】: