> 백엔드 개발 > PHP 튜토리얼 > php队列任务的实现的问题请教高手!

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

WBOY
풀어 주다: 2016-06-23 14:00:31
원래의
1045명이 탐색했습니다.

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


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

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿