How do I run rake tasks within my rails application

后端 未结 5 917
青春惊慌失措
青春惊慌失措 2020-12-24 08:47

What I want to do:

In a model.rb, in after_commit, I want to run rake task ts:reindex

ts:reindex is normally run with a rake ts:index

5条回答
  •  借酒劲吻你
    2020-12-24 09:43

    This code automagically loads the Rake tasks for your Rails application without you even knowing how your application is named :)

    class MySidekiqTask
      include Sidekiq::Worker
    
      def perform
        application_name = Rails.application.class.parent_name
        application = Object.const_get(application_name)
        application::Application.load_tasks
        Rake::Task['db:migrate'].invoke
      end
    end
    

提交回复
热议问题