任何根据Redis做延迟任务执行(即调度)的技巧?
也许是一些聪明的方法来延迟BLPOP给定的秒数?
如果你想用redis进行调度,我建议使用有序集(z*)命令:
http://code.google.com/p/redis/wiki/SortedSets
你能做的是这样的:
ZADD jobs
例如:
ZADD jobs 1291348355
然后,每隔一段时间(最多每秒)你就可以拉出应该运行的预定作业(或者应该已经运行):
ZRANGEBYSCORE jobs -inf,
热潮,你得到了你的工作.当然,请确保从已排序的集中删除已完成的作业.