I recently upgraded one of my test sites from DNN 6.2 to DNN 7.4.0. After that I started seeing scheduler failures:
EXCEPTION:Access to the path '\\<server path>\Portals\<portalid>-System\Cache\Pages\' is denied
Message:Access to the path '\\<server path>\Portals\<portalid>-System\Cache\Pages\' is denied.
StackTrace:
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.InternalCreateDirectory(String fullPath, String path, Object dirSecurityObj, Boolean checkHost)
at System.IO.Directory.InternalCreateDirectoryHelper(String path, Boolean checkHost)
at System.IO.Directory.CreateDirectory(String path)
at DotNetNuke.Services.ModuleCache.FileProvider.GetCacheFolder(Int32 portalId)
at DotNetNuke.Services.ModuleCache.FileProvider.PurgeExpiredItems(Int32 portalId)
at DotNetNuke.Services.ModuleCache.PurgeModuleCache.DoWork()
In looking @ the source, it seems that there is now a new property portalInfo.HomeSystemDirectoryMapPath (see FileProvider.cs line 96). It looks like the intent is to get the cache files out of the portal's 'public' directory and into a place that only the CMS can see, makes sense to me.
In my case, the issue was that the webhead did not have write permissions into the Portals directory. Once I corrected that, things got quite a bit better.
My question: Is there an easy way to cleanup all the old cache directories? (the ones in the Portals\<portalid>\Cache directory) I'm running on a shared host with only FTP access to the file system.
Thanks!