Execute um script simples com cron
a cada 5 minutos. Seu crontab pode procurar, por exemplo assim:
*/5 * * * * /path/to/your/script
pseudocódigo de script:
IF (lockfile exists) { exit }
create lockfile
IF (old job has not finished yet) {
remove lockfile
exit
}
IF (new job has already been queued) {
remove lockfile
exit
}
schedule new task
remove lockfile
Veja Corrigir o bloqueio em scripts de shell? para saber como bloquear corretamente ( como livre de condições de corrida).