Si desea programar con redis, le sugiero que use los comandos sorted set (z*):
http://code.google.com/p/redis/wiki/SortedSets
lo que puedes hacer es algo como esto:
ZADD jobs <unix timestamp of when you want the job to run> <job identifier>
por ejemplo:
ZADD jobs 1291348355
Luego, de vez en cuando (hasta cada segundo) puede extraer trabajos programados que deberían ejecutarse (o que ya deberían haberse ejecutado):
ZRANGEBYSCORE jobs -inf, <current unix timestamp>
Boom, tienes tus trabajos para ejecutar. Por supuesto, asegúrese de eliminar los trabajos realizados del conjunto ordenado.