所以我试图让delayed_jobs运行我的站点地图:来自sitemap gem的刷新命令。不知道为什么它没有出现在我当地的佣金工作中:工作。如果我运行sitemap:在终端刷新它运行正常,delayed_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"
这两个似乎都不适合我的工作人员从事佣金工作:工作。
答案 0 :(得分:0)
解决了问题,只需将rake sitemap:refresh
替换为Rake::Task["sitemap:refresh"].execute