Я использовал метод putAll () кэша скриптов Google Apps в течение 21600 секунд.Он работал уже несколько месяцев, сегодня просто перестал работать - все получают из кеша, возвращают ноль.Сценарий читает файл .csv, содержащий около 90 тыс. Записей, удаляет ненужные символы, а затем кэширует с помощью метода putAll ().Я протестировал тот же файл с тем же сценарием в моем проекте Dev, он работает нормально.Так как-то это не работает в моем производственном проекте.Код точно такой же, ниже:
Идентификатор проекта моего производства: Vendor Retainer GAS - project-id-5629958634838222671
Об ошибках не сообщается.
function cacheVendorList() {
var dataFilesFolder = DriveApp.getFolderById(dataFileFolderId);
var fileIt = dataFilesFolder.getFilesByName("VendorFile.csv");
if (fileIt != null && fileIt.hasNext()) {
var vendorFile = fileIt.next();
var keyValueStr = "{" + vendorFile.getAs(MimeType.PLAIN_TEXT).getDataAsString().
replace(/SAP,NAME,CMPY,CURRENCY/,'99,Test').
replace(/[^a-zA-Z0-9 ,\n]/g,' ').
replace(/$/mg,'",').
replace(/^\d+,/mg,
function(x) {
return '"' + x.substring(0,x.length-1) + '": "';
}).
replace(/D ",\n",$/,'D "') + "}";
//dataFilesFolder.createFile("VendorFile.txt", keyValueStr, MimeType.PLAIN_TEXT);
//Logger.log(keyValueStr);
var keyValObj = eval("(" + keyValueStr + ")");
// create a new vendor cache
vendorCache.putAll(keyValObj, 21600); // 21600 cache it for 6 hours
Logger.log("0000010100: " + vendorCache.get("0000010100"));
Logger.log("0090000435: " + vendorCache.get("0090000435"));
Logger.log("Got it");
}
}