| 
	
 | 
 Posted by Jeremiah Fisher on 03/17/05 16:10 
Test for a lock file when the script starts, and remove it when the  
script ends. This isn't 100% reliable, but it's the typical solution to  
this problem. If the script fails, the lock file may not be removed  
(ever have a Mozilla browser crash and tell you the default profile is  
locked?), so be careful with your error handling! 
 
<?php 
 
// test for lock file 
if ( !$f = fopen( 'lock', 'r')) { 
	// touch the lock file 
	$f = fopen( 'lock', 'w'); 
	fwrite( $f, 'lock'); 
	fclose( $f); 
 
} else { 
	// lock file exists; another instance must be running (we hope) 
	echo 'Error: An instance of this script is already running!'; 
	exit( 1); 
 
} 
 
 
/* script stuff */ 
 
 
// remove the lock file for the next instance 
unlink( 'lock'); 
 
 
?> 
 
Shaun wrote: 
> Hi, 
>  
> I have a script that inserts data from files uploaded to our server. I need  
> to make sure that only one instance of this script runs at anyone time, can  
> anyone tell me how I can do this? 
>  
> Many thanks
 
  
Navigation:
[Reply to this message] 
 |