Re: Ensure only one instance of a script is running

From: Date: Thu, 17 Mar 2005 14:10:28 +0000
Subject: Re: Ensure only one instance of a script is running
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-210979@lists.php.net to get a copy of this message
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


« previous php.general (#210979) next »