cronbot is a wrapper script for cron jobs. Rather than running your job/script directly, you run it through cronbot, and it will allow a little more control to help keep things from getting out of hand. The default behavior is to only allow one instance of your job to run. This can be changed with the --duplicate option. You can also pass in a maximum time of execution for a job or add a random amount time to delay the start of your job. By default, jobs are run with a default "nice" value, which is usually 10.
Schedule::Cron is a Perl module that provides a simple but complete cron-like scheduler. It can be used for periodically executing Perl subroutines. The philosophy behind Schedule::Cron is to call subroutines periodically from within one single Perl program instead of letting cron trigger several (possibly different) Perl scripts. Everything under one roof. Furthermore, Schedule::Cron provides a mechanism to create crontab entries dynamically, which isn't that easy with cron. It knows about all extensions (at least all extensions the author is aware of, i.e those of "Vixie" cron) for crontab entries like ranges including 'steps', specification of month and days of the week by name, or coexistence of lists and ranges in the same field. It even supports a bit more (like lists and ranges with symbolic names). It has existed since 1999 on CPAN and is successfully used in many projects.