Re: Ensure only one instance of a script is running

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



a more reliable solution:
Write a lock file and update timestamp each minute or so ,(at varous places 
around the script)
then in order to check if the script is already runninh, check the 
timestamp.

"Jeremiah Fisher" <thisisroot@xxxxxxxxx> wrote in message 
news:20050317141000.93781.qmail@xxxxxxxxxxxxxxxx
> 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 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux