CakePHP:在没有人访问网站时运行函数
我想在我的CakePHP中运行一些函数,比如更改记录的状态和删除数据库中过期的记录。例如,每24小时一次 最明显的问题是运行一个函数,据我所知,该函数需要有人实际访问该网站。是否可以在没有用户访问网站以运行代码的情况下自动运行函数 例如,我有以下代码:CakePHP:在没有人访问网站时运行函数,php,cakephp,Php,Cakephp,我想在我的CakePHP中运行一些函数,比如更改记录的状态和删除数据库中过期的记录。例如,每24小时一次 最明显的问题是运行一个函数,据我所知,该函数需要有人实际访问该网站。是否可以在没有用户访问网站以运行代码的情况下自动运行函数 例如,我有以下代码: function garbage() { $deadline = date('Y-m-d H:i:s', time() - (24 * 60 * 60)); // keep tickets for 24
function garbage()
{
$deadline = date('Y-m-d H:i:s', time() - (24 * 60 * 60)); // keep tickets for 24h.
$ticketObj = new Ticket();
$data = $ticketObj->query('DELETE from tickets WHERE created < \''.$deadline.'\'');
}
函数垃圾()
{
$deadline=date('Y-m-dh:i:s',time()-(24*60*60));//保留24小时的车票。
$ticketObj=新票证();
$data=$ticketObj->query('DELETE from ticket WHERE created<\'.$deadline.'\'');
}
这将删除超过24小时的过期票据。但这只在有人访问网站时运行。它能在每晚午夜自动运行吗?您需要设置一个cronjob
这里有一个很好的指导:您需要设置一个cronjob
这里有一个很好的指导:您可以将代码编写为,并以运行方式运行。您可以将代码编写为,并以运行方式运行。是的,它应该作为cron作业来完成 就蛋糕而言,您应该在模型中使用一个方法,并通过shell调用它。 另外,你在问题中的例子也不太像蛋糕。 例如,应该避免使用
query()
方法
这样应该更好(假设您有票据
型号):
是的,它应该作为cron作业来完成
就蛋糕而言,您应该在模型中使用一个方法,并通过shell调用它。
另外,你在问题中的例子也不太像蛋糕。
例如,应该避免使用query()
方法
这样应该更好(假设您有票据
型号):
使用CakePHP中的此实现实现一个cron作业:如果您真的需要它。使用CakePHP中的此实现实现一个cron作业:如果您真的需要它。
<?php
class Ticket extends AppModel
public function garbage($deadline = null) {
//http://book.cakephp.org/2.0/en/models/deleting-data.html#deleteall
$this->deleteAll(array($this->alias . 'created <' => $deadline), false);
}