Redis
 sql >> Database >  >> NoSQL >> Redis

Esecuzione/programmazione ritardata con Redis?

Se vuoi eseguire la pianificazione con redis, ti suggerisco di utilizzare i comandi set ordinati (z*):

http://code.google.com/p/redis/wiki/SortedSets

quello che puoi fare è qualcosa del genere:

ZADD jobs <unix timestamp of when you want the job to run> <job identifier>

es:

ZADD jobs 1291348355

Quindi, ogni tanto (fino a ogni secondo) puoi eseguire il pull dei lavori pianificati che dovrebbero essere eseguiti (o dovrebbero essere eseguiti ormai):

ZRANGEBYSCORE jobs -inf, <current unix timestamp>

Boom, hai il tuo lavoro da svolgere. Ovviamente, assicurati di eliminare i lavori completati dal set ordinato.