PHP睡眠()的实际用途是什么?

2022-08-30 10:21:57

我刚刚看了一下关于睡眠()的文档

您将在哪里使用此功能?

它是否在昂贵的功能中给CPU一个中断?

有什么常见的陷阱吗?


答案 1

它找到用途的一个地方是创建延迟

假设您已经构建了一个使用/来获取远程页面的爬虫。现在,您不想在短时间内用太多请求轰炸远程服务器。因此,您会在连续请求之间引入延迟。curlfile_get_contents

sleep以秒为单位获取参数,其朋友以微秒为单位获取参数,在某些情况下更合适。usleep


答案 2

另一个例子:您正在运行某种大量使用资源的批处理过程。也许你正在浏览9,000,000本书的数据库,并更新其中约10%的书名。该过程必须在一天的中间运行,但是有太多的更新要完成,因此运行批处理程序会将数据库服务器拖到其他用户的爬网中。

因此,您可以修改批处理以提交(例如 1000 个更新),然后持续 5 秒钟,以使数据库服务器有机会完成处理来自已备份的其他用户的任何请求。sleep


推荐