Если вы хотите выполнить планирование с помощью redis, я бы предложил использовать отсортированные команды set (z *):
http://code.google.com/p/redis/wiki/SortedSets
то, что вы можете сделать, выглядит примерно так:
ZADD jobs <unix timestamp of when you want the job to run> <job identifier>
например:
ZADD jobs 1291348355
Затем, очень часто (до каждой секунды) вы можете извлекать запланированные задания, которые должны быть запущены (или должны были уже выполняться):
ZRANGEBYSCORE jobs -inf, <current unix timestamp>
Бум, у тебя есть работа.Конечно, обязательно удалите выполненные задания из отсортированного набора.