Php 为特定日期和小时创建随机分钟cron作业
我一直在尝试做随机的cron工作,我选择年、月、日期和时间,但分钟是随机的 我的第一次尝试是每分钟运行一次cron,然后将随机日期与今天的日期进行比较: 我以Php 为特定日期和小时创建随机分钟cron作业,php,cron,Php,Cron,我一直在尝试做随机的cron工作,我选择年、月、日期和时间,但分钟是随机的 我的第一次尝试是每分钟运行一次cron,然后将随机日期与今天的日期进行比较: 我以2014-10-26 17兰特(0,59)的格式将随机日期插入数据库列fake_time。在php页面中,我每分钟运行一次cron: if($row["fake_time"] == date("Y-m-d H i")){ //do stuff } 这一切都很完美。但后来我发现我不能每分钟运行cron,因为我的hostor(host
2014-10-26 17兰特(0,59)
的格式将随机日期插入数据库列fake_time
。在php页面中,我每分钟运行一次cron:
if($row["fake_time"] == date("Y-m-d H i")){
//do stuff
}
这一切都很完美。但后来我发现我不能每分钟运行cron,因为我的hostor(hostgator)不允许我这样做!你有没有其他办法让我做这件事的想法
或者我应该改为在上设置吗?如果没有技术问题,您可以使用php脚本(无需安装)
如果您认为脚本执行的频率不够高,您可以减少差异
rand(1,3)
我认为您受到一天可以运行的cron作业数量的限制,IIRC hostgator对基本计划有每日限制。为了克服这一限制,IMO,您有两个选择:
True
,则进入睡眠状态60秒
if($row["fake_time"] == date("Y-m-d H i")){
//do stuff
} else {
sleep(60);
}
这样,您就有了一个cron作业,尽管它会运行很长一段时间。如果您只能每天运行cron作业,并且希望以随机的时间和分钟运行,您可以更改逻辑,每小时睡眠进入睡眠时间3600
秒,然后每分钟睡眠时间为60秒
if($row["fake_time"] == date("Y-m-d H i")){
//do stuff
} else {
sleep(60);
}
您可能需要进行相应的设置easycron
服务
在本例中,将上述脚本代码放在一个php文件中,比如说script.php
,并安排一个cronjob,在该脚本上执行get请求。在本例中,您的命令将类似于
wget your.domain.com/script.php
这对你来说是一个很好的例子,检查一下:你的主人允许你做什么?我认为@M.Abooali评论中的解决方案应该很有效。更大的问题是-你为什么要这样做?例如,WordPress已经有了一个插件来检查网站的可用性。我是作为一篇博客文章来做这件事的。在facebook和twitter上发布。我不想让我的追随者认为我是机器人。。。我是。你的网站有多忙?如果获得一致的流量,您可以将cron全部丢弃,并使用数据库支持的队列,该队列通过用户访问提供服务。