Кэширование изображений ActiveStorage в фоновых заданиях / PDF документах? - PullRequest
0 голосов
/ 26 сентября 2018

Я создаю билеты в формате PDF с использованием Prawn, и я, например, вставлю активный образ хранилища, например:

def image_data(attachment)
  StringIO.new attachment.download
end

image image_data(ticket_template.background)

Но я заметил, что некоторые клиенты имеютмного билетов, и все они используют одно и то же изображение.ActiveStorage загружает изображение каждый раз из S3, поэтому, если у клиента есть около 10 билетов, это может привести к тайм-ауту при загрузке всех из них.

Я нахожусь на heroku, поэтому, даже если файловая системаЯ подумал, что было бы неплохо использовать дисковый кеш для извлечения или загрузки изображений по мере необходимости.Но я нервничаю по поводу добавления кеширования и возникновения проблем.

Я думал о добавлении класса lib, такого как этот:

class ImageCacher

  def self.get(record, attachment)
    ## fetch from disk, or download from S3
  end

end

Поиск советов и идей по реализации этого.

...