Heim > Backend-Entwicklung > PHP-Tutorial > php队列任务的实现的问题请教高手!

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

WBOY
Freigeben: 2016-06-23 14:00:31
Original
1046 Leute haben es durchsucht

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


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

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的操作方式...

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage