我目前正在实习期使用Codeigniter创建一个系统。该系统将使用户能够创建服务请求。创建请求后,系统会自动向审批人(另一个用户)发送一封电子邮件,通知他该请求。(这已经实现了)。然后,审批人将决定是批准还是不批准请求。现在,我的新任务是,如果审批人仍然没有在系统中批准/不批准请求,他将在电子邮件中收到频繁的通知(每30分钟)。我将如何实现这一点呢?
发布于 2016-10-14 17:32:28
您需要创建一个控制器,该控制器具有检查审批状态并在未审批时发送电子邮件的功能。
例如:
class checkapproval extends CI_Controller {
public function index()
{
// Database query to fetch all pending approval.
// $records = $this->db->where('status !=','approve')->get('table_name');
// foreach($records as $record){
// send email
// updated email timestamp in databse for record
// }
}
}现在,我们的下一步是每30分钟执行一次这个index。这是我们需要的cron作业。
我们需要在cron作业中设置命令,如下所示,它每30分钟执行一次。
$php /path/to/project/index.php checkapproval index有关codeigniter CLI的更多详细信息,请查看HERE
发布于 2016-10-14 16:18:18
您将需要在您的数据库中有一个字段,该字段计算他已经被发送电子邮件的次数和时间戳,当最后一封电子邮件是sent....and,然后一个cron- has脚本(每30分钟运行一次)将检查,看看用户是否已采取行动的request....and,如果没有,发出另一封电子邮件,并更新数据库字段与发送的电子邮件数(递增)和unix的时间戳,当新的电子邮件发出。
发布于 2016-10-14 16:18:47
您应该使用cron作业来执行此操作。检查是否有未处理的请求的脚本。然后,如果他有未处理的请求,给他发一封电子邮件。
https://stackoverflow.com/questions/40038235
复制相似问题