Dealing with cache file locks when using EntityValue in ParallelMap

I'm trying to run the following (naturally, I have FAR more zip codes and a much longer list of properties, both truncated for speed of the example):

zipCodes={"40220","46202","46077","40202","80301","80304","90210","90211"};
zipProperties = {
EntityProperty["ZIPCode", "AggregateHouseholdIncome"],
EntityProperty["ZIPCode", "AverageHouseValue"],
EntityProperty["ZIPCode", "Employment"],
EntityProperty["ZIPCode", "Population",{"Gender"->"Female"}],
EntityProperty["ZIPCode", "Population",{"Gender"->"Male"}]
};
zipData = ParallelMap[
With[
{zip = #},
Join[{zip}, Entity["ZIPCode", zip][#]& /@ zipProperties]
] &,
zipCodes
];


and I'm getting:

(kernel 1) CreateFile::filex :  C:\Users\user1\AppData\Roaming\Mathematica\Knowledgebase\u8cfm00s2kat\u8cfm00s2kat-1709886844729300217.dat.lock already exists.
(kernel 3) EntityValue::nodat :  Unable to download data. Some or all results may be missing.
(kernel 8) ...more of the same...


I'm assuming the nodat error is just a legitimate absence of data, though it could also signify a lack of a result from too many simultaneous requests. I've had that happen before with FinancialData and had to go back and re-retreive values for Missing[] results where I knew that they HAD to exist (like closing prices for valid ticker symbols on dates when trading occurred).

Anyone knows how to get Wolfram curated data from a parallelized process without running into locks?

• For a workaround, try ParallelEvaluate[EntityFramework\$UseFileCache = False];` – ilian Aug 5 '17 at 16:24