← Back to team overview

touch-packages team mailing list archive

[Bug 917231] Re: Mutual exclusion for cronjobs

 

> Fixing this in cron would not ensure mutual exclusion in the cases
where these scripts are called by other means, eg manual calls.

I think we shouldn't consider external calls as this is out of cron's
scope. It would be the same as I would say flock doesn't ensure mutual
exclusion too as there are no guaranteed mandantory locks in the Linux
kernel.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to cron in Ubuntu.
https://bugs.launchpad.net/bugs/917231

Title:
  Mutual exclusion for cronjobs

Status in “cron” package in Ubuntu:
  New

Bug description:
  I'm using Ubuntu 12.04 dev with cron 3.0pl1-120ubuntu2. I encountered
  in the past a problem which can be solved with a new feature. Here is
  an example of the problem:

  0 0 * * * root /usr/local/share/python/backup_to_media.py
  0 0 1 * * root /usr/local/share/python/backup_to_internet.py

  These cronjobs do backup some data every day to a media and one time a
  month to the internet. The problem is on the first day of every month
  both backups are running at the same time. This can cause some
  problems like the backuped data to the internet is one day older as it
  should be or there are maybe exceptions because both jobs are
  accessing the files at the same time.

  Maybe there could be a priority column which controls this:

  0 0 * * * root 0 /usr/local/share/python/backup_to_media.py
  0 0 1 * * root 1 /usr/local/share/python/backup_to_internet.py

  The priority column ensures that jobs which are running at the same
  time are excuted sequentially (if the priority of every job is the
  same number we will have the current behaviour). On the first day of
  every month /usr/local/share/python/backup_to_media.py is executed
  first because it has a lower number and if it finishes
  /usr/local/share/python/backup_to_internet.py is executed.

  This would prevent complicated entries in the crontab or own complex
  mutual exclusion to solve this problem.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cron/+bug/917231/+subscriptions