Redis
 sql >> Base de données >  >> NoSQL >> Redis

Exécution retardée / planification avec Redis ?

Si vous voulez faire de la planification avec redis, je suggérerais d'utiliser les commandes triées (les z*) :

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

ce que vous pouvez faire est quelque chose comme ça :

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

ex :

ZADD jobs 1291348355

Ensuite, de temps en temps (jusqu'à chaque seconde), vous pouvez extraire les tâches planifiées qui devraient s'exécuter (ou devraient s'être déjà exécutées) :

ZRANGEBYSCORE jobs -inf, <current unix timestamp>

Boom, vous avez vos travaux à exécuter. Bien sûr, assurez-vous de supprimer les travaux terminés de l'ensemble trié.