热搜:NVER node 开发 php

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

2024-09-02 19:20:01
php队列任务的实现的问题请教高手!

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


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

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