php-cron作业将被触发,而不是在特定时间触发,并且不会重复
我不熟悉cron作业,但习惯了php。在我的应用程序中,我需要运行一个脚本/事件,如果一个项目在MySQL数据库中发布,一小时后它的状态将改变,从private变为public,24小时后它的状态将从public变为expired。我尝试使用Mysql调度事件,它运行良好,但几乎所有共享主机都不支持它 我以前的代码: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
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小时后您已经对其进行了处理李>
- 更新职位的状态
- 在每个帖子行中添加一列,称为“time_added”
- 每小时运行一次cron李>
- 查询数据库,检查是否有超过24小时的帖子没有设置正确的状态,表明您在24小时后已经对其进行了处理李>
- 查询数据库并检查超过1小时的帖子,这些帖子的状态没有设置为在1小时或24小时后您已经对其进行了处理李>
- 更新职位的状态
- 您不能在PHP文件和mySQL数据库中完成所有工作吗