Здравствуйте!
Может кто сталкивался с подобным? Друпал 7.69, PHP7.3, MariaDB 5.6
При создании материала не всегда создаются кэшированные изображения (image styles). Помогает сброс всего кэша.
Проблема возникает периодически (не каждый раз). Ошибок в логе не наблюдаю.
Если кто подскажет решение, или способ куда искать - буду очень признателен.
UPD На сервере крутится несколько сайтов. Проблема только с одним.
Комментарии
Что такое кэшированные изображения? Image styles?
Да. Извините, если неясно выразился
Хорошо бы понять когда она возникает?
Воспроизвести не могу. Появляется не очень часто. Может быть 2-3 раза в день.
Смотрел во всех логах - апач, мускл, сислог... Ничего криминального не нахожу.
Посмотрите пики потребления ресурсов на хосте.
Постоянного мониторинга нет. Но в режиме реального времени если наблюдать, то с большим запасом железо.
8 ядерный проц. В среднем показывает load average: 1.35, 1.15, 1.16
Файл подкачки пустой. Памяти с избытком. С дисками всё в порядке. Под базу SSD используются.
Самое неприятное - логи пустые (криминала в них нет). Друпал чистый без вмешательств и патчей.
В общем плюнул на это дело. Написал модуль, который перед выводом ноды проверяем на битые ссылки и если что - кэш сбрасывает. После НГ займусь плотно, если само не рассосется )
Рассосется вместе с прошлогодним снегом.
И всё же решение нашлось. Поставил imagemagick вместо GD. Обидно только - причину не определил. Но пока уже сутки все нормально.
И это лучший выбор в любом случае.
GD это вариант для бедных и нетребовательных
Вообще непонятно. Во-первых стилизованные картинки/миниатюры и не должны создаваться при создании материала. Они создаются при первой попытке их просмотра. Во-вторых, они не имеют вообще никакого отношения к кэшу Друпала, и непонятно каким образом очистка кэша Друпала может даже теоретически способствовать их генерации...
Если создание материала через UI то авто показ полной версии значит и кеш картинок создается.
Смотря какой материал. Если это статья с картинками, то конечно они покажутся при первом просмотре после создания. А у меня например картинка - это отдельный тип материала, и есть несколько разных стилей, использующихся в разных вьюхах. При создании новой картинки никакие стили автоматически не показываются и не создаются, а создаются при последующем просмотре разных вьюх, в которые эта картинка входит. Некоторые стили для некоторых картинок не создаются никогда, потому что не востребованы.
Подозреваю, что материал создавал человек одного типа с однотипным поведением по кешу, поэтому и вопрос у него возник.
Спасибо всем за участие в теме!!!
Все верное здесь написано. Только у меня вообще ерунда какая-то. Вернул все обратно (дурная голова рукам покоя не дает) и сумел найти момент ошибки. При создании материала деривативы создаются. Однако в какой-то момент пропадают.
На сайте установлена запись файлов в каталоги вида [current-year]/[cuurent-month]/[current-day].
Так вот. При создании материала, к примеру, дериватив создается в каталоге 2019/12/23/img.jpg
А по прошествии какого-то времени Друпал начинает искать его в каталоге 2019/12/24/img.jpg
И самое главное - ошибка не всегда появляется. Так... Изредка.
И при чем здесь imagemagic? Однако же помогло )
Возможно, где-то неверно отражается результат операции по созданию изображения, а вот имагик все верно отдает?
Лучше не от текущей даты формировать путь для изображений, а от даты создания ноды.
Текущая дата меняется каждый день
О! Точно!
Подождите, но в момент формирования и загрузки файла - дата создания ноды ведь еще неизвестна? А пути деривативов формируются уже потом из пути загрузки файла.
----------------------------
Ага! Разобрался. В момент загрузки файта он еще в tmp находится, а переносится в рабочий каталог уже при сохранении, так что работает img/[node:created:custom:Y]/[node:created:custom:m]
И в общем да. Наверное вся собака порылась, что я неверно токены в пути файла указал - привязался к текущей дате. Бывает (
Спасибо за подсказку! С наступающим НГ!