加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 为特定日期和小时创建随机分钟cron作业

发布时间:2020-12-13 22:53:50 所属栏目:PHP教程 来源:网络整理
导读:我一直在尝试做随机cron工作,我选择年份日期和小时,但分钟是随机的. 我的第一次尝试是每分钟运行一次cron,然后将一个随机日期与今天的日期进行比较: 我将一个随机日期插入到数据库列fake_time中,格式为2014-10-26 17 rand(0,59).在我每分钟运行cron的php页
我一直在尝试做随机cron工作,我选择年份日期和小时,但分钟是随机的.

我的第一次尝试是每分钟运行一次cron,然后将一个随机日期与今天的日期进行比较:

我将一个随机日期插入到数据库列fake_time中,格式为2014-10-26 17 rand(0,59).在我每分钟运行cron的php页面中:

if($row["fake_time"] == date("Y-m-d H i")){
    //do stuff
}

这非常有效.但后来我发现我每分钟都无法运行cron因为我的主持人(hostgator)不允许我这样做!您对我如何以其他方式做到这一点有什么想法吗?

或者我应该在https://www.easycron.com/上设置它?

解决方法

我认为你受到一天中可以运行的cron工作数量的限制,IIRC主持人对基本计划有每日限制.要解决这个限制,IMO,您有两种选择:

>转到sleep 60秒

基本上,每天在所需的时间运行cron作业,并检查你的状况,如果不是True,那么进入睡眠状态60秒.

if($row["fake_time"] == date("Y-m-d H i")){
    //do stuff
} else {
    sleep(60);
}

这样,你有一个单独的cron作业,虽然它运行了很长一段时间.如果您每天只能运行cron作业,并且您希望以随机小时和分钟运行,您可以更改逻辑并进入睡眠状态3600秒进行每小时睡眠,然后进行60秒的微睡.

您可能需要相应地设置set_time_limit.
>设置easycron

如果您的cron作业由于无法设置时间限制而突然终止,则需要使用easycron服务.

在这种情况下,将上面的脚本代码放在一个php文件中,比如script.php,并安排一个cronjob来点击这个脚本的get请求.在这种情况下你的命令看起来像

wget your.domain.com/script.php

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读