Ta en titt på denna handledning på transaktioner med PDO.
Vira i princip den långa koden i:
$dbh->beginTransaction();
...
$dbh->commit();
Och enligt denna PDO-dokumentsida :
"När skriptet slutar eller när en anslutning är på väg att stängas, om du har en utestående transaktion, kommer PDO automatiskt att återställa den. "
Så du kommer att förlora transaktionen som väntade när skriptet tog timeout.
Men egentligen borde du designa om det här så att det inte beror på att manuset förblir vid liv.