2016-06-29 11 views
1

Meine App verwendet umfangreiche Cache-Funktionen für Rails, und alle Cacheschlüssel werden von derselben Anwendung erstellt und verwendet, die über die vollen Rechte für den Cache-Ordner verfügt.Cache für Berechtigungsnachweis verweigert, wenn der Cache sehr groß ist

jedoch gelegentlich, wenn der Cache wird besonders groß (große Steigerung in Gebrauch innerhalb des Cache-Ablauf Fenster), beginne ich immer Fehler Berechtigungen, wenn die Cache-Fragmente Rails.cache.fetch mit Zugriff auf:

Permission denied @ unlink_internal 

Clearing Der Cache behebt das Problem, bis es wieder groß wird. Gibt es eine theoretische Grenze für die Größe, die ein solcher Cache haben kann, oder könnte es eine andere Ursache geben?

Antwort

0

Es stellt sich heraus, dass meine Einschätzung der Ursache falsch war. Ich hatte einige Aufgaben, die mit erhöhten Rechten ausgeführt wurden, und daher wurden ihre Cache-Schlüssel mit erhöhten Rechten geschrieben, und aufgrund der Art und Weise, wie Cache-Ordner zufällig erzeugt werden, würde schließlich ein Cache-Schlüssel von der "Hauptanwendung" versuchen, dort zu schreiben aufgrund von Berechtigungen. Sicherstellen, dass derselbe Benutzer alle zugehörigen Aufgaben ausführt, behebt das Problem.

+0

Können Sie "erhöhte Privilegien" erklären? –

Verwandte Themen