2

我在自己的网站中有一个 url,我想在预定的时间点击一次,该 url 将具有不同的参数,例如:

www.mysite.com?user_id=1    ==> execute this once 5 minutes from now
www.mysite.com?user_id=2    ==> execute this once 10 minutes from now
www.mysite.com?user_id=3    ==> execute this once 15 minutes from now
www.mysite.com?user_id=4    ==> execute this once 20 minutes from now

我怎样才能在 php 中做到这一点?我正在考虑使用 cron 作业,但这似乎用于重复操作,而在这种情况下,我希望它只执行一次。我也在考虑使用睡眠,但是睡眠会阻止当前的执行。还有其他选择吗?

4

2 回答 2

1

首先,有一个文本文件,其中包含您要使用时间戳更新的链接。例如:

1379041200 www.mysite.com?user_id=1
1379051200 www.mysite.com?user_id=2
1379101200 www.mysite.com?user_id=3

如果要添加更多链接,请将要执行的更多链接和时间戳附加到文件中。然后有一个每 5 分钟执行一次的骗局作业。cron 作业将检查是否有任何时间戳小于当前时间戳的链接。

于 2013-09-13T02:01:38.393 回答
0

您可以添加一个等待时间参数并将 sleep 放在代码的开头

www.mysite.com?user_id=1&wait_for=300

if(isset($_GET['wait_for'])) {
    sleep($_GET['wait_for']);
}

这样,您的实际文件代码将在延迟后执行

于 2013-09-13T02:06:50.510 回答