Как правильно использовать пользовательский сервер для хранения Dragonfly на НПЗ?

У меня есть приложение блога Refinery, упакованное в контейнер Docker. Я пытаюсь использовать альтернативное хранилище данных Dragonfly для хранения изображений, но не могу заставить его работать так, как ожидалось.

Я использую собственное хранилище данных Dragonfly, которое я написал, используя NetStorage API от Akamai. Поскольку он все еще находится в стадии разработки, я еще не опубликовал гем, а вместо этого просто добавил его в папку lib моего проекта Refinery. Затем в /config/initializers/refinery/images.rbРаскомментировал config.custom_backend_class а также _opts строк, добавляя правильные значения для каждой (имя класса в виде строки для первого, список различных ключей API и другая необходимая информация конфигурации для последних).

Однако, когда я пытаюсь загрузить изображение, чтобы протестировать новый пользовательский бэкэнд, Refinery/Dragonfly, похоже, пытается использовать новый бэкэнд и для ранее загруженных изображений. Добавляя кучу трассировок к методам чтения, записи и уничтожения в моем классе, я вижу одну запись и чтение для фактического изображения, которое я пытаюсь загрузить, плюс кучу попыток чтения для уже существующих изображений. Я не уверен, что это предполагаемое поведение.

Кроме того, изображение, которое я пытаюсь загрузить, не отображается на НПЗ, несмотря на то, что мой класс сообщает об успехах как при чтении, так и при записи (опять же, для предполагаемого изображения, не обязательно для остальных). Объект изображения присутствует, но фактическое содержание изображения отсутствует. Метаданные кажутся неповрежденными, если предположить, что метаданные содержат информацию, такую ​​как имя и альтернативный текст изображения.

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

0 ответов

Другие вопросы по тегам