sql >> Base de Datos >  >> NoSQL >> Redis

¿Ejecución/programación retrasada con Redis?

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.