Jetez un oeil à ce tutoriel sur les transactions avec PDO.
En gros, enveloppez le code de longue durée dans :
$dbh->beginTransaction();
...
$dbh->commit();
Et selon cette page de document PDO :
"Lorsque le script se termine ou lorsqu'une connexion est sur le point d'être fermée, si vous avez une transaction en cours, PDO l'annulera automatiquement. "
Vous perdrez donc la transaction qui était en attente lorsque le script a expiré.
Mais vraiment, vous devriez repenser cela pour qu'il ne dépende pas du fait que le script reste en vie.