1

我正在尝试开始我的第一个 Ruby (v1.9.3p194) 项目。我在 Heroku 上托管,并使用 Sinatra 和 ActiveRecord。我正在尝试将delayed_job 集成到我的项目中,并且在获取rake 来识别jobs:work 时遇到了麻烦。(是的,我知道delayed_job 通常适用于rails,但据我所知,它可以在没有它的情况下工作。)

到目前为止,我已经使用我的 gemfile/bundler 安装了delayed_job (3.0.3) 和delayed_job_active_record (0.3.2) gems。因为我没有rails,所以我从delayed_job 自述文件中创建了自己的迁移文件,并进行了迁移。我认为这些都不应该引起我的问​​题。

从我看到的所有文档中,安装 gems 应该可以解决问题。我已经尝试卸载并重新安装它们,但无济于事。我不确定还有什么可以尝试的——也许我需要在我的 rakefile 中明确包含一些内容,但我还没有看到任何表明这一点的文档。

非常感谢任何帮助。

4

1 回答 1

3

也许我有一个实际的答案给你。

我做了一个简单的项目来jobs:work展示rake -T

宝石文件

source :rubygems

gem 'delayed_job'

耙文件

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.
于 2012-07-20T23:58:42.967 回答