![](/img/trans.png)
[英]How to create a cron job in cpanel to run a PHP file every hour?
[英]How to create a CRON job and set it for every 30 minutes or hour and then cancel it after 5 intervals php
所以这就是我想要完成的:用户选择他们希望他们的帖子被移动到页面顶部的频率,无论是每 30 分钟还是每小时或每 2 小时,等等。他们将能够选择它会这样做多少次。 因此,如果他们选择在 5 小时内每小时更新一次,那么它会将数据库中的日期/时间更新为当前时间,然后在接下来的 5 小时内每小时更新一次该时间,并在 5 小时后取消。
我正在考虑运行这样的 PHP 脚本来更新表格,因为广告是按日期 DESC 显示的:
<?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 工作。
我将在 Godaddy 的服务器上进行设置:
感谢帮助。
一种方法是将所需的更新存储在一个新的数据库表中,其中包含诸如帖子 ID、更新次数、间隔、剩余更新次数、应该进行第一次更新的时间(或时间下次更新)。
然后,创建一个 php 脚本,从该表中获取数据并为每个帖子采取必要的操作。 检查是否是时候更新帖子了,如果是则更新,否则不要(检查时间精确到分钟,不要检查秒。如果可以,这次用SQL检查而不是在php中检查以减少数据被提取)。 最好在单个查询中执行所有更新以最大化效率。
然后在服务器上设置一个 cron 作业,每分钟或您需要的任何最小时间间隔运行此 php 脚本。
这样,您只需完成一项 cron 工作就可以逍遥法外😉
如果您需要更高的效率,那么在此脚本的末尾,检查是否还有待处理的更新,如果没有,则删除 cron 作业。 然后,设置您的代码,以便每当用户创建新更新时,检查 cron 作业是否存在,如果不存在则创建它(这个额外的动态 cron 作业仅用于提高效率。如果有频繁的更新请求,避免创建/删除 cron 作业可能会更好)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.