PHP异步处理及在Drupal中的应用(续)

归类于服务器技术 参与评论

前文《PHP后台进程/异步处理的用法及在Drupal中的应用》讲解了如何在PHP和Drupal中使用异步处理的方法,该方法应用的是操作系统的后台进程,本文讲解另一种异步处理的方法。

ignore_user_abort

这是一个PHP运行时的参数,如果设置为1,那么PHP程序会一直运行直到程序结束,而不论当前的HTTP请求是否已经关闭。所以,我们可以这样假设,给用户快速返回想要的运行结果,把和用户界面无关的操作放到后面继续运行,那么就可以提高页面的响应速度,提高用户的页面体验,从而侧面提高网站的性能
不过这个操作没有像之前方法中的后台进程那样简单,这个需要对HTTP协议已经PHP进程的运行有所了解。

阅读全文 《PHP异步处理及在Drupal中的应用(续)》

642 Views , ,

PHP后台进程/异步处理的用法及在Drupal中的应用

归类于Drupal 参与评论

在Web的HTTP请求中,经常有些消耗CPU耗时的操作,并且这些操作并不是立刻就需要得到执行结果,这时候,我们最好使用异步的后台进程处理来提高网站的性能。在异步处理框架中,Gearman是一款优秀的异步处理程序并且支持多种语言和平台,但正是由于这种兼容性的,所以使用起来稍微复杂,所以本文暂不介绍Gearman的使用。

PHP在Linux上运行,可以通过一些函数调用系统shell,让shell在后台运行,这样就可以打开一个后台进程然后立即返回,这种方法可以把一些耗时的操作独立出来,进而提升网页的响应时间,提升用户的体验。

笔者基于Drupal,在其上写了几个后台进程的API,经测试运行完美,极大得提高了一个耗时的页面操作,代码参阅如下:

阅读全文 《PHP后台进程/异步处理的用法及在Drupal中的应用》

1,358 Views , , ,

顶部