Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re^3: Cron Jobs That Run For Too Long

by adamk (Chaplain)
on Dec 20, 2005 at 23:22 UTC ( #518209=note: print w/ replies, xml ) Need Help??


in reply to Re^2: Cron Jobs That Run For Too Long
in thread Cron Jobs That Run For Too Long

But wait, it gets better again!

You know how you can have that nifty __DATA__ block at the end of your script? It turns out you can lock that too :)

I've used this a number of times and it works just great.

#!/usr/bin/perl

use strict;
use Fcntl 'LOCK_EX', 'LOCK_NB';

unless ( flock DATA, LOCK_EX | LOCK_NB ) {
    print STDERR "Found duplicate script run. Stopping\n";
    exit(0);
}

...

1;





### DO NOT REMOVE THE FOLLOWING LINES ###

__DATA__
This exists to allow the locking code at the beginning of the file to work.
DO NOT REMOVE THESE LINES!


Comment on Re^3: Cron Jobs That Run For Too Long
Re^4: Cron Jobs That Run For Too Long
by astroboy (Chaplain) on Dec 23, 2005 at 18:40 UTC
    hey, that's really nice.
Re^4: Cron Jobs That Run For Too Long
by Anonymous Monk on Jul 12, 2007 at 15:36 UTC
    this works great!!! can you give explenations on the __DATA__ part? I dont have a clue what is this for... Roy

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://518209]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (4)
As of 2015-07-05 09:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (61 votes), past polls