gpt4 book ai didi

php - 如何创建一个 CRON 作业并将其设置为每 30 分钟或每小时一次,然后在 5 个间隔后取消它 php

转载 作者:行者123 更新时间:2023-12-04 16:14:48 24 4
gpt4 key购买 nike

所以这就是我想要完成的:用户选择他们希望将帖子移到页面顶部的频率,无论是每 30 分钟、每小时还是每 2 小时等。他们将能够选择这样做的次数。因此,如果他们选择它在 5 小时内每小时更新一次,它会将数据库中的日期/时间更新为当前时间,然后在接下来的 5 小时内每小时更新一次,并在 5 小时结束后取消更新。

我正在考虑运行这样的 PHP 脚本来更新表格,因为广告是按日期降序显示的:

<?php
//cronjob.php
$id = $_SESSION['ad_id'];
$date = date('Y-m-d H:i:s');
$query = "UPDATE ads SET ad_date = :date WHERE ad_id = :id";
?>

是否有最好的方法来做到这一点,或者用户选择的 CRON 作业是否会给服务器带来太多负载,以至于用户无法连续设置 CRON 作业。

我看到了这种方法,想知道是否可以为此目的进行设置。我仍在熟悉 CRON 作业。

How to start/stop a cronjob using PHP?

我将在 Godaddy 的服务器上进行设置:

Godaddy Cron jobs

感谢您的帮助。

最佳答案

一种方法是将需要的更新存储在一个新的数据库表中,包含诸如post id,更新多少次,间隔,剩余多少次更新,第一次更新应该发生的时间等字段(或下次更新的时间)。

然后,创建一个从该表中获取数据的 php 脚本,并对每个帖子采取必要的操作。检查是否到了更新帖子的时间,如果是则更新,否则不要(检查时间精确到分钟,不要检查秒。如果可以的话,这次用 SQL 检查而不是在 php 中检查以减少数据正在获取)。最好在单个查询中执行所有更新以最大限度地提高效率。

然后在服务器上设置一个 cron 作业,每分钟或您需要的任何最小时间间隔运行此 php 脚本。

通过这种方式,您只需执行一个 cron 作业即可摆脱困境😉

如果您需要更高的效率,那么在该脚本的末尾,检查是否还有待处理的更新,如果没有,则删除 cron 作业。然后,设置您的代码,以便每当用户创建新更新时,检查 cron 作业是否存在,如果不存在则创建它(这个额外的动态 cron 作业仅适用于效率怪胎。如果有频繁的更新请求,最好避免创建/删除 cron 作业)

关于php - 如何创建一个 CRON 作业并将其设置为每 30 分钟或每小时一次,然后在 5 个间隔后取消它 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59701612/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com