提问人:Rafael Brum 提问时间:4/15/2023 更新时间:4/15/2023 访问量:13
google.script.运行时间变化很大
google.script.run times varies a lot
问:
所以我有一个简单的代码,似乎需要 4 到 20 秒才能运行。我不知道这是正常的事情,还是我错过了什么。 这是正常的吗,我能做些什么来改进它,使用 BigQuery 而不是 Sheets 是否有助于解决这种差异? 我已经以多种方式写了这个,for,forEach,map。我对平均时间大多感到满意,问题是它有时需要太长,比如 20 秒。
上下文: 我正在为客户开发一个 Web 应用程序,它相当简单,用于与工作表交互。代码在服务器端运行。
法典:
function getHomeTableData(req){
var table = ws.getRange("A1").getDataRegion().getValues().filter(e=>e[1]==sc.decrypt(req.key))
if(table.length==0){return 'true'}
//sort table by dateIn
table.sort((a,b)=>a[4]-b[4])
//formatters
const dateFormatter = Intl.DateTimeFormat('en-US',{timeZone:req.tmz});
const timeFormatter = Intl.DateTimeFormat('en', { hour: 'numeric',minute:'numeric',timeZone:req.tmz });
var res = {}
var status = ''
const headers = [
{ title: 'TransactionID' },
{ title: 'UserID' },
{ title: 'Location' },
{ title: 'Position' },
{ title: 'Date In' },
{ title: 'Start Time' },
{ title: 'Date Out' },
{ title: 'End Time' },
{ title: 'Shift' }
]
//Create table data
for(var i=0;i<table.length;i++){
const [col1, col2, locationId, role, checkInDate, checkOutDate] = table[i];
const shiftLengthValue = shiftLength(checkInDate, checkOutDate);
const dateIn = dateFormatter.format(checkInDate);
const timeIn = timeFormatter.format(checkInDate);
const dateOut = checkOutDate ? dateFormatter.format(checkOutDate) : '';
const timeOut = checkOutDate ? timeFormatter.format(checkOutDate) : '';
const locationNameValue = locationName(locationId);
table[i] = [col1, col2, locationNameValue, role, dateIn, timeIn, dateOut, timeOut, shiftLengthValue];
}
//sort table by dateIn
table.sort((a,b)=>a[4]-b[4])
//return is user still checked in
if(table[table.length-1][6]==""){
res = {
data:table,
headers:headers,
checkIn:true,
dismissModal:false,
transactionID:table[table.length-1][0],
checkInDate:"",
checkInTime:table[table.length-1][5],
checkInRole:table[table.length-1][3],
checkInLocation:table[table.length-1][2]
}
} else {
res = {
data: table,
headers: headers,
checkIn: false,
dismissModal: false,
}
}
return res
}
答: 暂无答案
评论
sc
shiftLength
locationName
table