PHP如何实现异步?
情况如下;客户端发请求到服务器,服务器根据这个请求会进行相应的处理,但是这个处理的时间比较长,如果同步的话很可能出现timeout,所以想把请求扔到消息队列里面然后立马给出返回。同时另外有专门的线程或者进程来处理这个消息队列。想问问有没有这方面成熟的解决方案的? RabbitMQ, ZeroMQ, 首推这两个. 不用那么麻烦。。。存在数据库里面,搞一个crontab慢慢跑。。。:luya: libevent:victory::victory:
bikong0411 发表于 2012-10-17 09:29 static/image/common/back.gif
libevent
:Q:Q ,,杀鸡用牛刀! 回复 3# sickcat2004
CRONTAB最小的精度是分钟吧,怎么达到更小的精度,另外有没有触发或者通知机制什么的。 本帖最后由 satrun7 于 2012-10-17 22:48 编辑
回复 6# rubylc_unix
如果要精确到秒执行,你在脚本做一个进队,出队的逻辑,保持列队,然后使用crontab每分钟去监控脚本。不过如果是长时间运行脚本做队列,我觉得php已经不适合你开发需求了。
rubylc_unix 发表于 2012-10-17 15:08 static/image/common/back.gif
回复 3# sickcat2004
:luya: crontab精度不够,你就整个死循环嘛 。。。。守护在那里干活。你要啥精度都可以了。。。。。。 回复 8# sickcat2004
php的垃圾回收机制如果在死循环下会出问题吧。
想不出楼主既然要异步了,为何还不能接受一分钟的延迟呢? xinglu1983 发表于 2012-10-19 09:03 static/image/common/back.gif
回复 8# sickcat2004
不会的。。。。。。
set_time_limit(0)
页:
[1]
2