Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php-cron作业将被触发,而不是在特定时间触发,并且不会重复_Php_Mysql_Events_Cron - Fatal编程技术网

php-cron作业将被触发,而不是在特定时间触发,并且不会重复

php-cron作业将被触发,而不是在特定时间触发,并且不会重复,php,mysql,events,cron,Php,Mysql,Events,Cron,我不熟悉cron作业,但习惯了php。在我的应用程序中,我需要运行一个脚本/事件,如果一个项目在MySQL数据库中发布,一小时后它的状态将改变,从private变为public,24小时后它的状态将从public变为expired。我尝试使用Mysql调度事件,它运行良好,但几乎所有共享主机都不支持它 我以前的代码: if($query==true){ mysqli_query($con,"CREATE EVENT ikirak

我不熟悉cron作业,但习惯了php。在我的应用程序中,我需要运行一个脚本/事件,如果一个项目在MySQL数据库中发布,一小时后它的状态将改变,从private变为public,24小时后它的状态将从public变为expired。我尝试使用Mysql调度事件,它运行良好,但几乎所有共享主机都不支持它

我以前的代码:

                if($query==true){
                  mysqli_query($con,"CREATE EVENT ikiraka.act$id ON SCHEDULE AT (CURRENT_TIMESTAMP + INTERVAL 1 MINUTE) DO UPDATE `ibirakas` set `status`='public' WHERE `id`='$id'") or die(mysqli_error($con));
                  header("location:view-post.php?kiraka_id=$id");
                }
我喜欢的cron工作是:

10 * * * * /usr/bin/php /www/virtual/username/cron.php > /dev/null 2>&1
你可以看到我想做什么。因此,cron作业通常在特定时间运行特定任务。如何触发一个作业而不是一个正常的例程,以及如何为一个特定项(不是数据库中的所有内容)设置它在1小时后运行,在24小时后运行?
非常感谢您的帮助

您不能在PHP文件和mySQL数据库中完成所有工作吗

  • 在每个帖子行中添加一列,称为“time_added”
  • 每小时运行一次cron
  • 查询数据库,检查是否有超过24小时的帖子没有设置正确的状态,表明您在24小时后已经对其进行了处理
  • 查询数据库并检查超过1小时的帖子,这些帖子的状态没有设置为在1小时或24小时后您已经对其进行了处理
  • 更新职位的状态

    • 您不能在PHP文件和mySQL数据库中完成所有工作吗

      • 在每个帖子行中添加一列,称为“time_added”
      • 每小时运行一次cron
      • 查询数据库,检查是否有超过24小时的帖子没有设置正确的状态,表明您在24小时后已经对其进行了处理
      • 查询数据库并检查超过1小时的帖子,这些帖子的状态没有设置为在1小时或24小时后您已经对其进行了处理
      • 更新职位的状态

      可能的复制可能的复制一个好主意。让我试试看有什么帮助吗?不幸的是,有人刚刚恶意地否决了我上面的答案以及我7年前的所有其他答案。对不起,兄弟。我不知道为什么会有人这么做。不管怎样,如果这是个好主意,我会告诉你的。让我试试看有什么帮助吗?不幸的是,有人刚刚恶意地否决了我上面的答案以及我7年前的所有其他答案。对不起,兄弟。我不知道为什么会有人这么做。不管怎样,如果这能成功,我会让你知道的