-1

我制作了一个 PHP 脚本,它从 twitter 获取推文并将它们保存到一个文件中以供使用(作为 JSON)。问题是我在执行脚本时只得到一次推文,但我想大约每 4-5 分钟得到一次。

我已经调查过了sleep,但这只会延迟浏览器并执行一次操作。我希望4 分钟执行一次,而不是延迟后执行一次。

我也研究了 cron,但是我要运行我的应用程序的服务器不允许我使用 cron。

TL;DR:有人知道第一次执行后每 X 分钟执行一次 php 脚本的好方法吗?

4

5 回答 5

2

最好的办法是安排一个任务每隔 x 分钟调用一次 PHP 页面,而不是试图保持线程打开。看一下CRON JOB

如果您使页面可公开访问,则不需要从服务器执行计划任务。

于 2013-03-15T08:31:23.647 回答
1

您可以设置一个 Web 监控服务(有些是免费的,例如 Pingdom),每 X 分钟向您的页面发出一次 HTTP 请求,这应该可以解决问题。

于 2013-03-15T08:34:09.567 回答
1

有些供应商只为您提供运行 cron 作业。调查他们,他们可以每隔 x 分钟调用一次你的 php 脚本。

于 2013-03-15T08:34:27.660 回答
0

我自己设法解决了这个问题。正如我的问题所述,Javascript 和 Jquery 也是可行的解决方案。我使用 asetInterval每隔 X 分钟在我的 twitter.php 文件上执行一次 $.get 。

于 2013-03-15T09:04:29.953 回答
0

在没有 cron 的情况下,你所做的一切都是 hack。

可以

while (1) {
  process(...)
  sleep(4*60)
}

但是您会遇到 PHP 执行时间限制的问题。

也许可以让您的脚本执行一次操作,然后每 4 分钟从支持 cron 的主机调用一次?

于 2013-03-15T08:37:19.890 回答