NOTE: This is passed exId instead of executionContext like addWorkers and removeWorkers.  I don't know why, just dealing with it.
async function removeWorkers(exId, numWorkers) {
        await k8s.scaleExecution(exId, numWorkers, 'remove');
        return { action: 'remove', ex_id: exId, workerNum: numWorkers };
    }