Я пытаюсь выполнить эту задачу, чтобы обновить большой объем данных с контроллера, чтобы при обращении пользователя-администратора к этому методу он выполнял указанную задачу.Я подтвердил, что нет никаких проблем с самой задачей, но я не уверен в том, как она вызывается.
Проблема, с которой я сталкиваюсь, заключается в том, что, когда я недавноперезапустил мою виртуальную машину с запущенным сервером (используя vagrant), программа не запустится.Но после некоторого тестирования я обнаружил, что после запуска rails runner (выполненная команда не имеет значения) она начнет работать.
class Admin::AccessLogManageController < Admin::AdminController
def update_project_ids
command = "rbenv exec bundle exec rails runner --environment=#{Rails.env} Tasks::UpdateAccessLogProjectIds.execute"
pid =spawn(command, :chdir=>".")
Process.detach(pid)
end
end