我正在努力开始我的第一个Ruby(v1.9.3p194)项目。我在Heroku上主持,并使用Sinatra和ActiveRecord。我正在尝试将delayed_job集成到我的项目中,并且遇到麻烦让rake认出工作:工作。 (是的,我知道delayed_job通常适用于rails,但据我所知,没有它可以工作。)
到目前为止,我已经使用我的gemfile / bundler安装了delayed_job(3.0.3)和delayed_job_active_record(0.3.2)宝石。因为我没有rails,所以我从delayed_job自述文件中创建了自己的迁移文件,并将其迁移。我认为这不应该导致我的问题。
从我见过的所有文档中,安装宝石应该可以解决问题。我已经尝试卸载并重新安装它们,但无济于事。我不确定还有什么可以尝试 - 也许我需要在rakefile中明确包含这些内容,但我没有看到任何表明这一点的文档。
任何帮助非常感谢。
答案 0 :(得分:3)
也许我有一个真正的答案。
我做了一个简单的项目,让jobs:work
显示rake -T
:
<强>的Gemfile 强>
source :rubygems
gem 'delayed_job'
<强> Rake文件强>
require 'rake'
require 'bundler'
require Bundler.load.gems.find{|i| i.name == 'delayed_job'}.gem_dir + "/lib/delayed/tasks"
运行: $ bundle install
<强>结果:强>
$ rake -T
rake jobs:clear # Clear the delayed_job queue.
rake jobs:work # Start a delayed_job worker.