2015-12-23 3 views
0

Я пытаюсь вызвать задачу rake в одном из моих методов контроллера. Действие выполняется, метод также перенаправляется, но моя задача rake не работает. Я пробовал все системы, backticks, вызывая другой метод модели и т. Д. Но это совсем не работает. И это происходит только в производстве в разработке, он отлично работает. Я не знаю, что не так. Заранее спасибо.Задача рейка не выполняется в контроллере rails

`rake maintenance:sidekiq:print` 

или

system('rake maintenance:sidekiq:print') 
+0

Можете ли вы показать нам, как вы называете «рейк-задачу», реализацию своей задачи и реализацию вашего действия? – vutran

ответ

0

Не знаете, как вы вызываете задачу, но есть несколько способов

system "rake task_name" 

Иначе вы можете сделать что-то вроде

require 'rake' 
Rake::Task["task_name"].invoke 

Меня устраивает .

+0

Первый работает в разработке, но не в производстве, а второй - через ошибку «Не знаю, как построить задачу»: sidekiq: stop ', когда я сделал это '' 'Rake :: Task [" maintenance: sidekiq: stop "] .invoke''' –

+0

Проблема @ShilpiAgrawal не связана с проблемой кода, так это то, как вы настраиваете sidekiq для кода. Первый будет работать в каждом движении, если вы правильно настроили все. –

Смежные вопросы