Caching – Probleme mit Permissions

Datum: 13. Januar 2017
Autor*in: Florian Müller


Ich war gerade an einem Ticket um eine Lösung für das leidige Thema des Caching der Autosuggest zu lösen. Das grundlegende Problem ist, dass das Autosuggest recht umfangreich ist (gecached bis zu 2MB). Sollte nun ein User ein Wort eingeben und kein Autosuggest vorhanden sein, wurde dieser gebaut und gecached. Die hat auch mal gerne eine Minute oder länger gedauert. Also viel zu lang.

Um dies zu umgehen, wurde ein Cron Job entwickelt, welcher den Cache in der Nacht erneuert. Das Problem war nun jedoch schlussendlich, der Projekt User auf dem Server hat den Cron Job ausgeführt und Zend_Cache hat den Cache mit den Rechten 0600 (Standard Wert durch Zend) abgespeichert. Nun wollte der Webserver-User (www-data) diese lesen, jedoch fehlten dafür die nötigen Rechte. Also hat dieser wieder den ganzen Prozess gestartet, den Autosuggest Cache zu bauen.

Schlussendlich gab es hier eine relativ einfache Lösung:


$backendOptions = array(
'cache_dir' => realpath($cachePath),
'cache_file_umask' => '0777',
'cache_file_perm' => '0777'
);

Diese Optionen ermöglichen es, dass unabhängig vom User die Cache Files benutzt werden können.


Dieser Artikel wurde verschlagwortet unter:


Kommentare

Selber kommentieren:






Weitere Beiträge zum Thema Technologie


Bilder SEO – Bisher eigentlich komplett vernachlässigt

Autor*in: Axel Güldner


Technologie // User Experience & Design


Heute möchte ich ein Thema anschneiden, welches bisher wohl so niemand auf dem Schirm hatte (ich zumindest habe bisher keinen Gedanken daran verschwendet). Aber als ich dann in einem anderen Blog darüber gelesen habe, hat mich dann sofort die Faust der Erkenntnis getroffen, ähnlich einer Brockhaus-Enzyklopädie, die einem ins Gesicht fällt. Wir bemühen uns immer …


Beitrag lesen
07
FEB
12

Infrastructure as Code: Prolog

Autor*in: Bastian Schwarz


Technologie // Über den Tellerrand


Da unsere Developer VM nun auch schon wieder einige Zeit auf dem Buckel hat habe ich mich die letzten Wochen viel mit dem Thema Virtualisierungsmanagement und Provisioning beschäftigt. Mit was?! Beides klingt hochtrabender als es tatsächlich ist. Letztendlich geht es dabei um 2 Themenbereiche: Das Erstellen von virtuellen Umgebungen Das Einrichten und Konfigurieren dieser Umgebungen Das alles gab …


Beitrag lesen
27
MRZ
17

JIT Grunt

Autor*in: Florian Müller


Technologie


Dieser Beitrag nimmt Bezug auf meinen vorherigen Beitrag zur Optimierung von Grunt. Wer diesen nicht kennt, wird mit diesem hier nicht viel anfangen können. Wer den Concurrent Task und dazu auch den Time-Grunt einsetzt, mag schon mal bemerkt haben, dass bei jedem Concurrent Task sämtliche Tasks geladen. Auf dem DEV dauert dies auch mal gerne 2 …


Beitrag lesen
08
FEB
17