Originally written for bulldo.gs — republished here with the canonical link pointing home.

I'm running a script that processes a large spreadsheet and it keeps dying with "Exceeded maximum execution time" before it finishes.

// Checkpoint-resume pattern for long-running sheet jobs

function processInBatches() {

var props = PropertiesService.getScriptProperties();