PHP中的延迟函数

PHP中的延迟函数,php,wordpress,youtube-api,Php,Wordpress,Youtube Api,我正在一个Wordpress网站上工作,该网站上有一组YouTube视频。当一个新的视频添加到网站时,它会使用YouTube的API(视频的持续时间、喜欢的数量、浏览量等)将某些信息拉入网站的数据库 问题是这些信息很快就会过时,所以我需要一种定期刷新视频信息的方法 我本来打算每天晚上使用wp cron和循环浏览所有视频并更新它们,但现在我达到了YouTube的速率限制来获取视频信息——过了一段时间,它只返回403个禁止的错误 有没有一种方法可以编写代码,比如,浏览前50个视频,等待5分钟,然后再

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

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

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


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

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

你可以使用sleep(300);但您必须设置时间(0);因此脚本不会超时。

您正在寻找睡眠程序吗?;-)这会导致性能问题吗?我已经在API调用之间添加了500毫秒睡眠时间的脚本,我不确定在处理视频块之间使用睡眠5分钟是否是一个好主意。Yuo说你想等待5分钟,这样就可以使用睡眠;-)。相反,只需查询youtube,再加上连续请求之间100ms的延迟,效果类似。根据您的系统,您可以使用调度程序或cron并定期运行脚本—这一切都取决于……请求之间已经有500毫秒的延迟,我仍然很快达到了极限。我找不到YouTube API限制的确切描述——文档基本上说,如果你没有做坏事,你就不会受到限制。好主意!我会试试的,它奏效了。我现在每小时50次批量更新YouTube视频信息。这意味着,即使系统中有1000多个视频(在一段时间内不太可能),它们都将在24小时内更新。