Re: Cron Timing

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

 



Thanks Cameron

I ended up just adding a random sleep to the crons

<?php
sleep(rand(0,600));
?>

But I do like that idea of a wrapper script or a lock script.

=================================================
Steven Barre
steven@xxxxxxxxxxxxxxxxxxxxxxxx

Systems and Support Manager
Real Estate Webmasters
www.realestatewebmasters.com
==================================================


On 4/20/2010 18:34, Cameron Simpson wrote:
On 20Apr2010 09:34, Steven Barre<steven@xxxxxxxxxxxxxxxxxxxxxxxx>  wrote:
| I know that you can get cron to do something "every x". For example
| to have something run every 15 min you would do
|
| */15  *  *  *  * php /path/to/script.php
|
| But now I have a whole bunch of these set up and having them all run
| at exactly the same time is causing issues.
|
| Is there any way to stagger these? Like tell it to run every 15 min
| + 2 min so it runs at 02, 17, 32, and 47 minutes past the hour?
|
| Or is my best bet to simply put a sleep at the start of the script
| with a random time?

Leaving aside the other suggestions to simply write staggered times,
some other "automatic" approaches are available.

1: Put all the jobs in one shell script:

     #!/bin/sh
     php /path/to/script1.php
     php /path/to/script2.php
     ... etc ...

   and have in cron:

    */15  *  *  *  * /path/to/the-above-wrapper-script

   which will run them in sequence.
   Of course that relies on the all having exactly the same timing.

2: Use a locking system:

     */15 * * * * with_lock "lock_name" php /path/to/script1.php
     */15 * * * * with_lock "lock_name" php /path/to/script2.php

    which prevents any of them running at the same time.  with_lock is a
    script you must write, to obtain a lock of some kind, run the command, and
    release the lock. That way when two jobs coincide, one will wait for the
    other to complete before proceeding.

    I use this script:
      http://www.cskk.ezoshosting.com/cs//css/bin/lock
    for this purpose.



--
redhat-list mailing list
unsubscribe mailto:redhat-list-request@xxxxxxxxxx?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/redhat-list

[Index of Archives]     [CentOS]     [Kernel Development]     [PAM]     [Fedora Users]     [Red Hat Development]     [Big List of Linux Books]     [Linux Admin]     [Gimp]     [Asterisk PBX]     [Yosemite News]     [Red Hat Crash Utility]


  Powered by Linux