00:00
进行实战。将我们的邮件发送放入队列中,因为邮件发送它会受到这个网络的一个影响,所以啊会比较耗时。可以,现在看一下,我们来提交一个评论。测试。可以看到大约过了这个。啊,几秒之后。才能收到这个反馈。啊,过了很久才会收到这个反馈,然后现在我们收到了这个邮件。查一下。啊,收到这个邮件,所以说这样比较耗时的一个任务,我们就把它给放到队列中,不能影响这个用户的一个体验。来。首先创建发送邮件的一个任务类。Art make job。呃,卡吧。
01:00
Email啊,这个评论的一个邮件通知。创建完这个类之后呢,会在这个APP目录下,这里面给我们生成了啊,这个是不是这个之前测试的就删掉啊。包括我们的test里面测试代码先删掉。啊,这些删掉。接下来啊去。调整我们的这个邮件发送的。这对点。哎,这个里面是执行我们的邮件发送,对吧,实际上我们要做的事情就很简单。把之前控制器里。哎,这里进行发送的邮件给放到队列里面就可以了,是不是。这里我们先注示点啊。然后使用队列发送邮件。使用哪个队列呢?
02:00
我们定义的这个对点啊。Comment email啊,使用这个任务,使用它的进行队列的一个分发。就可以了。那我们这里这个发送邮件这个内容啊,就要去放到这个队列里面去执行了,把相应的命名空间都给引入。没有的门面,还有我们的这个blog。啊,这个邮件发送类啊,这个是邮件发送类啊,接着你看我们需要什么参数,需要给哪个用户去发,然后。还需要什么,还需要这个评论对吧。是不是?这时候我们这个队列就需要接收参数了啊,我们在构造函数里面接收参数,接收谁呢?接收评论。哎,这个时候进行队列分发的时候。就要把这个评论给传过来是不是?把评论给传过来,同样的和我们的这个邮件处理的方式一样,我们把评论传过来之后啊。
03:01
在这里定一个。属性。我们的这个评论。用传入的这个评论给我们的这个类的这个属性。接下来。这里就可以使用这个属性的这个评论对吧。那博客里面的用户怎么办呢?我们要给这个博客的这个用户去发邮件是吧。好,我们评论是不是关联了这个。博客表对不对,评论和博客是不是有关系啊,这个评论是对哪个博客进行评论的,可以拿到这个博客对不对,然后博客又和用户有关系,从从这个博客里面再拿到这个博客的作者也是可以的,对吧?这样就可以拿到这个用户了,给这个用户进行发邮件。当然,我们现在是为了测试特意去找的一个。啊,这个B这个用户。
04:01
这样的话,我们就可以从数据库里面去找到B用户的一个邮件给他进行发送啊,如果你在根据这个练习的时候没有发送成功,请检查你这个用户的这个邮箱啊,数据库里的邮箱对不对。当然我们这里是之前已经调整过的,是对的,对吧。啊。这样的话,我们评论完成之后,就会使用队列去发送这个邮件。是吧,而不用让用户去等待这么长时间。好,下面我们尝试一下啊。再次进行评论。测试队列。是不是一评论完立马得到响应了,然后我们就看这个邮件有没有发送成功,回我们的收件箱啊,多刷新几次啊。是不是收到这个邮件了。对不对,测试队列,这样的话,我们就啊把这个啊发送邮件比较耗时,就给放到了队列中。啊,这是一种方式,如果我们去看手册的话,找到邮箱这里。
05:03
找到邮件发送这里,你会看到。啊,刚才我们是手动的去配置这个队列,去把邮,呃邮件的发送放到这个队列里面对不对啊,这样是比较麻烦的,但实际上你要去看这个邮件的文档,他这个邮件发送人家肯定会考虑到这么一个耗时的一个情况,所以说他自己就会带这个队列。看到了吗?就是我们在发送邮件的时候,我们不使用send,我们使用这个啊,就可以把它自己去加入这点,而不用我们再去手动创建这个啊,任务的一个类再去怎么去写。哎,发送邮件可能会大幅的延长用的时间,可以选择将发送邮件就是放到队列里面,在后台进行发送。拉使用的是内置的统一队列API,所以简化了这一工作啊,就是简化了刚才我们手动去创建这个队列啊,在这里面再去发送这样一个工作。来,我们。注释点啊,这个是使用的是。
06:04
自定义啊,对点。啊,这个是我们自己定义的一个队列,接着还可以使用什么呢?使用啊邮件队列。发送啊,这个是邮箱自己带的啊,它使用的是love提供的统一的这个队列的这个API,哎,我们只是把这个S的方法去换成这个队列的一个方法就可以了,直接复制这行代码。把它换成九游啊。就可以了,其他的都是一样的,只要我们使用了它去发送这个邮件的话。啊,他就会给我们使用队列,当然在使用之前需要进行队列的配置,我们这些都配置好了。啊,甚至包括延迟发送都是可以的。接下来我们来尝试一下。啊,看我们这个能不能发送成功。再来一个测试邮箱队列。评论可以看到,立刻得到响应,而这个邮件呢?
07:01
看一下啊。回到我们书店箱。小心一下,是不是也收到了。这样的话就完成了,就是在发送邮件的时候使用队列。
我来说两句