|
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]
|