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

小鱼n_n 2014-02-24 10:08:40
要做一个广播功能,广播有开始时间,结束时间,间隔时间和优先级。如下表:


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

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

各位大仙帮帮忙吧!


...全文
227 点赞 收藏 9
写回复
9 条回复
cwk44 2014年03月20日
队列很难吗...不要想得太复杂哦... 不注重性能的话用mysql做 1.直接把标志位为0的全部数据查出来,php里操作,用了哪个就把表中标志位设置为1 2.直接用 where 标志位 = 0 limit 1 取出数据 把那条数据的标志位设置成1 redis做就更简单了,直接支持队列格式,详看redis的操作方式...
回复 点赞
小鱼n_n 2014年02月25日
不要沉贴子啊!!!
回复 点赞
yunfeifan 2014年02月25日
直接写mysql 或者redis啊,然后sql查询就可以了。 队列是啥,先进先出
回复 点赞
小鱼n_n 2014年02月24日
引用 1 楼 craboy1 的回复:
你说的需求,没看出有要用队列的必要,而且画蛇添足,有优先级用什么队列呀,可以用php常驻后台来处理。用mysql就行。
能不能再具体说一说啊?什么是PHP常驻后台啊?
回复 点赞
craboy1 2014年02月24日
如果要用队列,可以用HTTPSQS
回复 点赞
craboy1 2014年02月24日
你说的需求,没看出有要用队列的必要,而且画蛇添足,有优先级用什么队列呀,可以用php常驻后台来处理。用mysql就行。
回复 点赞
小鱼n_n 2014年02月24日
引用 4 楼 cwk44 的回复:
redis或数据库实现好了...
数据库如何实现呢?
回复 点赞
小鱼n_n 2014年02月24日
回复 点赞
cwk44 2014年02月24日
redis或数据库实现好了...
回复 点赞
发动态
发帖子
基础编程
创建于2007-09-28

9733

社区成员

14.0w+

社区内容

从PHP安装配置,PHP入门,PHP基础到PHP应用
社区公告
暂无公告