使用PHP调度一次性请求

时间:2013-09-13 01:41:53

标签: php php-5.3

我在自己的网站上有一个网址,我希望在预定的时间点击,一次,网址将有不同的参数,例如:

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作业,但这似乎用于重复操作,而在这种情况下我希望它只执行一次。我也在考虑使用sleep,但是sleep会阻止当前的执行。还有其他办法吗?

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

你可以添加一个等待时间参数,并在你的代码开头放置睡眠

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

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

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

后执行