Tag et kig på dette selvstudie på transaktioner med PDO.
Pak den langvarige kode ind i:
$dbh->beginTransaction();
...
$dbh->commit();
Og ifølge denne BOB-dokumentside :
"Når scriptet slutter, eller når en forbindelse er ved at blive lukket, hvis du har en udestående transaktion, vil PDO automatisk rulle den tilbage."
Så du vil miste den transaktion, der var afventende, da scriptet fik timeout.
Men virkelig, du burde redesigne dette, så det ikke afhænger af, at scriptet forbliver i live.