当缓存非常大时,Rails缓存权限被拒绝

时间:2016-06-29 14:08:30

标签: ruby-on-rails caching

我的应用程序使用广泛的rails缓存,并且所有缓存键都由同一个应用程序创建和使用,该应用程序拥有缓存文件夹的完全权限。

但是,偶尔当缓存变得特别大(在缓存过期窗口中使用大量上升)时,我在使用Rails.cache.fetch访问缓存片段时开始获得权限错误:

Permission denied @ unlink_internal

清除缓存“修复”问题,直到它再次变大。这样的缓存可能存在理论上的限制,还是可能存在其他原因?

1 个答案:

答案 0 :(得分:0)

事实证明我对原因的评估是不正确的。我有一些任务是使用提升的权限运行,因此他们的缓存密钥是使用提升的权限编写的,并且由于缓存文件夹的随机生成方式,最终来自"主应用程序的缓存密钥"会尝试写在那里,但由于权限不能。确保同一用户运行所有相关任务解决了问题。