我制作了一个 PHP 脚本,它从 twitter 获取推文并将它们保存到一个文件中以供使用(作为 JSON)。问题是我在执行脚本时只得到一次推文,但我想大约每 4-5 分钟得到一次。
我已经调查过了sleep
,但这只会延迟浏览器并执行一次操作。我希望每4 分钟执行一次,而不是延迟后执行一次。
我也研究了 cron,但是我要运行我的应用程序的服务器不允许我使用 cron。
TL;DR:有人知道第一次执行后每 X 分钟执行一次 php 脚本的好方法吗?
最好的办法是安排一个任务每隔 x 分钟调用一次 PHP 页面,而不是试图保持线程打开。看一下CRON JOB。
如果您使页面可公开访问,则不需要从服务器执行计划任务。
您可以设置一个 Web 监控服务(有些是免费的,例如 Pingdom),每 X 分钟向您的页面发出一次 HTTP 请求,这应该可以解决问题。
有些供应商只为您提供运行 cron 作业。调查他们,他们可以每隔 x 分钟调用一次你的 php 脚本。
我自己设法解决了这个问题。正如我的问题所述,Javascript 和 Jquery 也是可行的解决方案。我使用 asetInterval
每隔 X 分钟在我的 twitter.php 文件上执行一次 $.get 。
在没有 cron 的情况下,你所做的一切都是 hack。
你可以去
while (1) {
process(...)
sleep(4*60)
}
但是您会遇到 PHP 执行时间限制的问题。
也许可以让您的脚本执行一次操作,然后每 4 分钟从支持 cron 的主机调用一次?