I just very recently wrote my own solution to a very similar problem using PHP and MySQL.
Essentially: cron job runs a script at a set interval, that script checks the database for pending jobs, runs them, and deletes the jobs.
This is simply what I needed to do, but it could be modified to work for time intervals.
I wrote a separate PHP script that runs the actual job (a newsletter system) to make this automation a bit more useful. That is, I can run whatever command I want from it, I accomplish this by storing the name of the actual command and its arguments in the automator script.
exec("~/scripts/{$row['command']} {$row['args']}");
benim bülten komut daha kullanışlı hale getirmek için veritabanına argümanları saklamak için izin verir. Sen argümanlar kapmak için array $ argv kullanmak, $ argv [0] argümanlar sırayla takip komut adıdır.
Ben kronolojik sırayla sıralar veritabanında ayrı bir tabloda tüm bülten bilgi depolamak. Diğer önemli, alanlar e-postanın konu ve vücut vardır. Bülten numarası ve abone numarası (veya tüm): Ben o zaman sadece ben istiyorum tam olarak ne yapmak newsletter.php için iki argüman geçmek.
Süre için test (10 dakika önce) böyle bir şey (ben daha kolay anlamak için yapma uğruna basitleştirilmiş aşırı) ile yapılabilir:
date_default_timezone_set('America/Denver');
$month=;//without leading zeros
$day=;//without leading zeros
$hour=;//24 hour without leading zeros
$min=;//needs leading zeros
if($month==date(n) and $day==date(j)){
if($hour==date(G)){
if(($min-date(i))<=10){
//run command
}
}elseif(($hour-1)==date(g)){
if(($min-date(i))<=(-50)){
//run command
}
}
}
You will want to change the timezone to your own, and pull the date and time information from the DB in some way.
The second part of the script (to run commands scheduled in the first 9 minutes of an hour) is untested but the first part I quickly tested it just now.
Hope this helps.