Spójrz na ten samouczek o transakcjach z PDO.
Zasadniczo zapakuj długo działający kod w:
$dbh->beginTransaction();
...
$dbh->commit();
I zgodnie z tą stroną dokumentu PDO :
"Kiedy skrypt się kończy lub gdy połączenie ma zostać zamknięte, jeśli masz zaległą transakcję, PDO automatycznie ją wycofa."
Utracisz więc transakcję, która była w toku, gdy upłynął limit czasu skryptu.
Ale tak naprawdę powinieneś to przeprojektować, aby nie zależało od tego, czy skrypt pozostanie przy życiu.