Dai un'occhiata a questo tutorial sulle transazioni con DOP.
In pratica racchiude il codice di lunga durata in:
$dbh->beginTransaction();
...
$dbh->commit();
E secondo questa pagina del documento PDO :
"Quando lo script termina o quando una connessione sta per essere chiusa, se hai una transazione in sospeso, PDO la annullerà automaticamente. "
Quindi perderai la transazione che era in sospeso quando lo script è scaduto.
Ma in realtà, dovresti riprogettarlo in modo che non dipenda dal fatto che lo script rimanga in vita.