[eluser]eoinmcg[/eluser]
probably not recommended in a production environment but
Code:
set_time_limit ( 0 );
means that no timeout limit is imposed, unless of course your web server timesout. i think apache will do so after 5 mins by default.
try using the profiler class to see if you can reduce any bottlenecks. run the database update via a cron job at some time you know the server won't be busy...