Mam witrynę Symfony2, którą testuję w produkcji. Poszedłem dalej i wyczyściłem jego pamięć podręczną, ponieważ dokonałem i prawdopodobnie wprowadzę więcej modyfikacji, ale jest mały problem:Obsługa pamięci podręcznej Symfony w produkcji
Podczas gdy pamięć podręczna jest czyszczona i mówi, potem chcę ją rozgrzać, osoba, która uzyskuje dostęp strona internetowa odbudowuje pamięć podręczną. Stwarza to niewielki problem podczas budowania pamięci podręcznej, ale nie całkowicie, podczas gdy połowa z nich zostaje usunięta, ponieważ usuwanie jest nadal w toku.
Co się dzieje później, pamięć podręczna jest budowana, ale tylko jej część. Symfony uważa, że pamięć podręczna jest w całości zbudowana i działa bez prób jej budowania, ale działa na półbudowanej pamięci podręcznej. Proces usuwania jest nieco długi (~ 15 sekund), więc w tym czasie nikt nie może próbować tworzyć pamięci podręcznej, wchodząc na stronę.
Albo to, albo pamięć podręczna jest całkowicie zbudowana, nadpisuje starą pamięć podręczną, a system traktuje te nowe pliki jako stare, usuwa ich część, a niektóre pozostałe. Nie jestem do końca pewien, nie jestem pewien, jak to sprawdzić.
Na przykład, jeden z błędów, które chciałbym uzyskać to
The directory "D:\xampp\htdocs\med-app\app\app\cache\dev/jms_diextra/metadata" does not exist.
Gdybym nie użyłby tego wiązkę będę się inny problem z cache Nauki. Pojawia się przy każdym dostępie do strony, dopóki nie usunę cache ponownie BEZ dostępu do strony. całkowicie blokuje dostęp do strony internetowej i czyni ją niefunkcjonalną.
A co z rozgrzewką? To też trochę potrwa. Co się stanie, jeśli ktoś uzyska dostęp do strony internetowej podczas rozgrzewania pamięci podręcznej? Czy to też nie powoduje konfliktu?
Jak rozwiązać ten problem? Czy muszę zamknąć usługę Apache, wyczyścić i ogrzać pamięć podręczną, a następnie ponownie uruchomić apache? W jaki sposób jest to obsługiwane przy tworzeniu witryny internetowej?
EDYTOWANIE Coś interesującego, co odkryłem. Błąd występuje, gdy usuwam folder cache/prod
. Jeśli usunę zawartość folderu bez usuwania samego folderu, wygląda na to, że błąd nie występuje. Zastanawiam się dlaczego.
Wolę usunąć pamięć podręczną za pomocą "sudo rm -rf app/cache/*" Myślę, że możesz skrócić czas, który zajmie dużo czasu –
Podczas ręcznego czyszczenia pamięci podręcznej odświeżanie również musi być wykonane ręcznie, w przeciwnym razie odsyłaj komentarze @johnSmith, aby automatycznie odświeżyć je w krótszym czasie lub całkowicie je wyłączyć. – Anil
Nie mogę użyć "rm", tak jak w Windowsie z xampp. –