如果您知道从哪里调用它,那么您可以通过处理函数删除......调用函数“updateGmailPhotoFromDriveBatcher”然后调用自身
// this is called by a daily trigger. I don't want it deleted
function runPhotoUpdates() {
// NEEDS to be a separate fnc so it doesn't get deleted
updateGmailPhotoFromDriveBatcher()
}
// this function does a job, then reschedules itself until a blank is returned
function updateGmailPhotoFromDriveBatcher() {
var ss = SpreadsheetApp.getActiveSpreadsheet(); //fetches the spreadsheet that the script is running in
var sheet = ss.getSheetByName("Groups");
var sgfrom = sheet.getRange(10, 21).getValue();
var npt = sheet.getRange(11, 21).getValue();
var oneJob = oneBatch(npt,sgfrom)
var currTime = (new Date()).getTime();
// WRITE THE new values; oneJob[0] is blank when completed; npt is a next page token of something that times out if you run the whole user base
sheet.getRange(10, 21).setValue(oneJob[1]);
sheet.getRange(11, 21).setValue(oneJob[0]);
sheet.getRange(12, 21).setValue(oneJob[2]);
sheet.getRange(13, 21).setValue(currTime)
SpreadsheetApp.flush();
if (oneJob[0] != "") {
// SCHEDULE NEW JOB
ScriptApp.newTrigger("updateGmailPhotoFromDriveBatcher")
.timeBased()
.at(new Date(currTime+(20*1000))) // 20 seconds from NOW
.create();
} else { // FINISHED
// KILL TRIGGERS
deleteTriggers()
}
}
function deleteTriggers() { // cleans up the triggers made above
var triggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < triggers.length; i++) {
var thf = triggers[i].getHandlerFunction() //String Returns the function that will be called when the trigger fires.
// if it's the one I kept making above
if (thf == "updateGmailPhotoFromDriveBatcher") {
ScriptApp.deleteTrigger(triggers[i]);
}
}
}