php队列任务的实现的问题请教高手!

WBOY
Libérer: 2016-06-23 14:00:31
original
993 Les gens l'ont consulté

要做一个广播功能,广播有开始时间,结束时间,间隔时间和优先级。如下表:


想实现这样的功能:新建一条广播后,判断开始时间,将广播加入队列,用一个定时器去执行这个队列里的各个广播。

1 如何放数据到队列中去?
2 如何取队列中数据?
3 如何根据优先级,比如1、2、3,来确定广播的播放顺序?
4 如何异步调用只执行一个do while 就能执行所有的广播?
5 修改广播后如何能替换掉队列里的那已经存在的那一条广播?

各位大仙帮帮忙吧!



回复讨论(解决方案)

你说的需求,没看出有要用队列的必要,而且画蛇添足,有优先级用什么队列呀,可以用php常驻后台来处理。用mysql就行。

如果要用队列,可以用HTTPSQS

你说的需求,没看出有要用队列的必要,而且画蛇添足,有优先级用什么队列呀,可以用php常驻后台来处理。用mysql就行。
能不能再具体说一说啊?什么是PHP常驻后台啊?

redis或数据库实现好了...

redis或数据库实现好了... 数据库如何实现呢?

直接写mysql 或者redis啊,然后sql查询就可以了。

队列是啥,先进先出

不要沉贴子啊!!!

队列很难吗...不要想得太复杂哦...
不注重性能的话用mysql做
1.直接把标志位为0的全部数据查出来,php里操作,用了哪个就把表中标志位设置为1
2.直接用 where 标志位 = 0 limit 1 取出数据 把那条数据的标志位设置成1
redis做就更简单了,直接支持队列格式,详看redis的操作方式...

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!