Why would I be getting the error: Too many simultaneous invocations on a simple once a day trigger?

I’ve searched around and still can’t find anything directly related to the failure message I’m receiving. The script hasn’t changed and it used to run just fine, but now in the past week or so it’s failing more and more often. There are only 3 triggers on this file onOpen, onEdit(e) and the installed trigger that calls the percentChange function once a day in the morning. It’s super simple, it grabs 2 named ranges, one is a column of percentages and the other contains the length of that data and then copies the percentages to another column so that we can track the daily percentage difference.

Here is the code:

function percentChange() {   var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Overview Status');    var calcPercentRangeObject = ss.getRange('calcPerc');   var calcPercentRow = calcPercentRangeObject.getRow()+2;   var calcPercentColumn = calcPercentRangeObject.getColumn();    var dataRangeObject = ss.getRange('numCabs');   var dataRow = dataRangeObject.getRow()+2;   var dataColumn = dataRangeObject.getColumn();   var dataLength =  dataRangeObject.getValue();   var currentPercent = ss.getRange(calcPercentRow, calcPercentColumn, dataLength, 1).getValues();    ss.getRange(dataRow, dataColumn, dataLength, 1).setValues(currentPercent);  } 

Should I add a delay? That seems like a “janky” work around…

Latest failure

Previous failures and completions

Another question: why does this code take 10+seconds to run from the trigger but generally takes less than a second to run from the script editor?