在PHP Web程序中,发送手机短信、电子邮件、转换视频格式、记录日志、数据挖掘采集等,都是比较耗时的操作。
为了增强用户体验,需要将这些操作转为异步执行
PHP Web程序中的短耗时异步处理
前提:使用Nginx+PHP(php-fpm FastCGI)架构
PHP-FPM 提供了fastcgi_finish_reques()函数
例1:写日志
<?php echo '输出内容给用户'; fastcgi_finish_request(); /* 用户访问完成,不会等待下面的操作。*/ sleep(5); //假设一个耗时的处理过程 file_put_contents('/tmp/logs.txt', '记录日志'); ?>