だから私は、サイトマップの宝石から私のサイトマップ:リフレッシュコマンドを実行するためにdelayed_jobsを取得しようとしています。ローカルの rake jobs:work に表示されない理由がわかりません。ターミナルで 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"
終わり
私はまた、rake jobs:work の私のワーカーでは機能しないように見える両方で置き換えrake sitemap:refresh
てみました。system "sitemap:refresh"