欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

如何異步調用使得不會超時

李中冰2年前40瀏覽0評論

如何異步調用使得不會超時?

PHP作為主流的Web開發腳本語言,它并不適合執行耗時任務,這一點很重要!另外,exec存在安全隱患,一般線上環境都會把它禁用的。

PHP執行耗時任務超時的原因

在LNMP環境中,一個請求如果超過30S以上基本上就會超時了,這個超時主要受Nginx、PHP和PHP-FPM超時時間影響。

1、Nginx超時配置項

nginx.conf里有幾個配置是設置Nginx超時的:fastcgi_connect_timeout、fastcgi_send_timeout、fastcgi_read_timeout。

2、PHP超時設置

php.ini配置文件中超時配置項為:max_execution_time。

3、PHP-FPM超時設置

php-fpm.conf配置文件中的超時項為:request_terminate_timeout。

PHP腳本如何設定不超時?

PHP腳本如果想要永不超時,有兩種方案:

1、PHP代碼中設置內存限制及永不超時,代碼如下:

ini_set('memory_limit','3072M');ini_set("max_execution_time", 0);set_time_limit(0);

另外PHP-FPM配置文件(php-fpm.conf)將 request_terminate_timeout 值設大,最后修改Nginx超時時間即可。

2、PHP腳本以CLI模式來運行

耗時任務請勿采用PHP來實現

實際項目中,如果涉及到耗時任務執行基本上都不會用PHP去做這件事,因為PHP執行耗時任務可能會導致內存使用異常,一般采用的方案有:

1、利用Linux的計劃任務Crontab來執行

借助crontab可以定制計劃任務,周期、定期任務可以用它來管理。

2、借助MQ來實現

借助MQ系統來實現,常用RabbitMQ、ActiveMQ等來異步執行任務。

3、借助Gearman等專業框架來實現

以上就是我的觀點,對于這個問題大家是怎么看待的呢?歡迎在下方評論區交流 ~ 我是科技領域創作者,十年互聯網從業經驗,歡迎關注我了解更多科技知識!

php cli是什么,如何異步調用使得不會超時