У меня есть веб-сайт Symfony2, который я тестирую на производстве. Я пошел вперед и очистил его кеш, потому что я сделал и, возможно, сделаю больше изменений, однако есть небольшая проблема:Обработка кеша Symfony в производстве
Пока кеш очищается и говорит, потом я хочу его согреть, кто-то, кто обращается к нему веб-сайт восстанавливает кеш. Это создает небольшую проблему по мере создания кеша, но не полностью, в то время как половина его удаляется, поскольку удаление все еще продолжается.
Что происходит после этого, кеш построен, но только его часть. Symfony полагает, что кеш построен полностью и работает без попытки его создания, но он работает с полуразработанным кешем. Процесс удаления немного длиннее (~ 15 секунд), поэтому в этот таймфрейм никто не должен пытаться создавать кеш, обращаясь к веб-сайту.
Либо это, либо кеш полностью построен, он перезаписывает старый кеш, и система обрабатывает эти новые файлы как старые, удаляет часть из них и некоторые другие. Не совсем уверен, я не уверен, как это проверить.
Например, одна из ошибок, которые я получаю
The directory "D:\xampp\htdocs\med-app\app\app\cache\dev/jms_diextra/metadata" does not exist.
Если бы я не использовать эту связку я хотел бы получить еще одну проблему кэша из доктрины. Это появляется на каждом веб-сайте, пока я не удалю кеш снова БЕЗ любого доступа к веб-сайту. он полностью блокирует доступ к веб-сайту и делает его нефункциональным.
Также, как насчет разминки? Это требует времени. Что делать, если кто-то обращается к веб-сайту, пока кеш разогревается? Разве это тоже не создает конфликта?
Как справиться с этой проблемой? Нужно ли закрывать службу apache, очищать и нагревать кеш, а затем перезапускать apache? Как это обрабатывается с веб-сайтом в производстве?
EDIT Что-то интересное, что я обнаружил. Ошибка возникает, когда я удаляю папку cache/prod
. Если я удалю содержимое папки без удаления самой папки, похоже, ошибка не возникает. Интересно, почему.
Я предпочитаю удалять кеш с помощью 'sudo rm -rf app/cache/*', я думаю, что вы можете уменьшить время, которое потребуется много. –
Как вы очищаете кеш вручную, тогда обновление также нужно делать вручную, иначе см. комментарии @johnSmith, чтобы автоматическое обновление за меньшее время или полностью отключить его. – Anil
Я не могу использовать 'rm', как на Windows с xampp. –