In maniera abbastanza brutale potresti mettere la lista dei prodotti da trattare (recuperata dall'XML) in sessione e ad ogni prodotto elaborato lo rimuovi dalla lista e ricarichi lo script con un semplice header location. Ripetendo il procedimento fino all'esaurimento della lista.