Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Execução/agendamento atrasado com o Redis?


Se você quiser fazer o agendamento com redis, sugiro usar os comandos sorted set (o z*):

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

o que você pode fazer é algo assim:
ZADD jobs <unix timestamp of when you want the job to run> <job identifier>

por exemplo:
ZADD jobs 1291348355

Então, de vez em quando (até a cada segundo) você pode puxar os trabalhos agendados que devem ser executados (ou já devem ter sido executados):
ZRANGEBYSCORE jobs -inf, <current unix timestamp>

Boom, você tem seus trabalhos para funcionar. Claro, certifique-se de excluir os trabalhos concluídos do conjunto classificado.