У меня есть приложение Rails, в котором я пытаюсь передать создание большого PDF-файла фоновому процессу и позволить пользователю увидеть его, когда он будет завершен.Это многостраничный документ, объединенный с гемом comb_pdf и переданный в delayed_job.
У меня есть 3 действия: первое создает и сохраняет файл, второе вызывается повторно с короткими задержками через асинхронный запрос, чтобы проверить,файл еще существует, а третий показывает PDF в браузере.
У меня проблемы со второй частью, так как она использует File.exist?('my_file.pdf')
, но она возвращает true
до завершения файлаэкономии.Ссылка, которая затем отображается для просмотра PDF-файла, приводит к ошибке (ActionController :: MissingFile).Файл фактически становится доступным примерно через 10 секунд, и в этот момент ссылка работает правильно.
Я предполагаю, что файл все еще записывается в момент проверки?Как проверить, что сохранение файла завершено и файл действительно доступен для чтения?