PHP中的延迟函数


Delayed Function in PHP

我正在Wordpress网站上工作,该网站上有一组YouTube视频。当一个新的视频被添加到网站时,它会使用YouTube的API将某些信息提取到网站的数据库中(视频的持续时间、点赞数、浏览量等)。

问题是这些信息很快就会过时,所以我需要一种定期刷新视频信息的方法。

我本来计划只使用wp-cron,每天晚上循环浏览所有视频并更新它们,但我已经达到了YouTube提取视频信息的速率限制——过了一段时间,它只返回403个禁止错误。

有没有一种方法可以编写代码,比如说,浏览前50个视频,等待5分钟,然后再进行下50个,直到它们都更新了?

最简单的方法是提取视频列表,并添加一个字段(如DATETIME),指示上次刷新视频的时间。然后,您将查询限制为只获取前50行,并按DATETIME DESC对查询进行排序。这确保了你总是先得到最陈腐的东西。让你的cron每X分钟运行一次,然后让它飞起来。

您可以使用睡眠(300);但是您必须设置time_out(0);因此脚本不会超时。