Есть ли какой-либо способ получить данные в качестве ответа на стороне просмотра после завершения отложенного задания в Rails

#ruby-on-rails #ruby-on-rails-4

#ruby-on-rails #ruby-on-rails-4

Вопрос:

Я пытаюсь импортировать один CSV-файл, я даю эту задачу DelayedJob для выполнения, что DelayedJob вызывает один метод, который считывает CSV и помещает данные в один объект, теперь, что мне делать, чтобы получить этот объект в качестве ответа на стороне просмотра. Есть ли какой-нибудь способ решить эту проблему?

Примечание: После назначения задания DelayJob мое основное действие завершается с 200 (успех).

Комментарии:

1. Да, либо путем опроса (повторяющиеся запросы ajax), либо с помощью ActionCable (websockets), который позволяет осуществлять двустороннюю связь. guides.rubyonrails.org/action_cable_overview.html

2. Если вам нужен вывод синтаксического анализа CSV, доступный для запрашивающего немедленно, возможно, вам вообще не следует использовать отложенное задание. Просто попросите действие контроллера выполнить синтаксический анализ, поскольку вам не нужна асинхронная обработка. В противном случае, как говорили другие, вам нужно будет опросить либо изменения, либо полноту обработки из представления или контроллера, и показывать их по мере появления новых изменений или завершения обработки.