所以我试图让delayed_jobs 从站点地图gem 运行我的站点地图:刷新命令。不知道为什么它没有出现在我当地的 rake 工作中:工作。如果我在终端中运行 sitemap:refresh 它运行良好,并且 delay_jobs 运行我所有的其他 rake 任务。
在 sitemap_refresh.rb 中
require 'sitemap_generator/tasks'
require 'delayed_job'
require 'delayed/tasks'
module Sitemap
class Refresh
def perform
`rake sitemap:refresh`
end
end
end
在我的 rakefile 中,这就是:
task :sitemap => :environment do
load 'sitemap_refresh.rb'
puts "Refreshing Sitemap"
Delayed::Job.enqueue Sitemap::Refresh.new
puts "Sitemap has been refreshed"
结尾
我也尝试过用这两种方法替换rake sitemap:refresh
似乎system "sitemap:refresh"
在我的 rake jobs:work 的工人身上不起作用。