【问题标题】:Delayed_job + sitemap:refreshDelayed_job + 站点地图:刷新
【发布时间】:2013-01-03 20:44:01
【问题描述】:

所以我试图让delayed_jobs 从站点地图gem 运行我的站点地图:刷新命令。不知道为什么它没有出现在我当地的 rake 工作中:工作。如果我在终端中运行 sitemap:refresh ,它运行良好,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"

结束

我还尝试用 system "sitemap:refresh" 替换 rake sitemap:refresh

【问题讨论】:

    标签: rake sitemap delayed-job


    【解决方案1】:

    解决了问题,只需要将rake sitemap:refresh 替换为Rake::Task["sitemap:refresh"].execute

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多