Lavavel中RedisQueue执行队列任务的方法

这篇文章将为大家详细讲解有关Lavavel中redisQueue执行队列任务的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

目前创新互联公司已为成百上千家的企业提供了网站建设、域名、雅安服务器托管成都网站托管、企业网站设计、全州网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

队列的基本功能:

  1、立即执行;yes
2、延迟执行;yes
3、保证至少执行一次;yes
4、必须执行且最多执行一次;no

用到的数据结构:

list、Sorted sets

延迟执行的机制:
1、先把数据放入SortedSets类型的queues:queue_000:delayed中
2、在执行pop的时候,执行lua脚本,把SortedSets类型的queues:queue_000:delayed 中可以执行的数据rpush到list类型的queues:queue_000中

保证执行成功的机制:
1、把要执行的数据先放入SortedSets类型的queues:queue_000:reserved中
2、在执行pop的时候,执行lua脚本,把SortedSets类型的queues:queue_000:reserved 中可以执行的数据rpush到list类型的queues:queue_000中
     3、任务执行成功,从SortedSets类型的queues:queue_000:reserved中执行删除预存的数据。

关于Lavavel中RedisQueue执行队列任务的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


当前文章:Lavavel中RedisQueue执行队列任务的方法
地址分享:http://scyanting.com/article/gjjpid.html