laravel 队列使用(发邮件、短信等)

1、配置

队列配置文件存放在config/queue.php。在该文件中你将会找到框架自带的每一个队列驱动的连接配置,包括数据库、Beanstalkd、 IronMQ、 Amazon SQS、 Redis以及同步(本地使用)驱动。其中还包含了一个null队列驱动以拒绝队列任务。

咱们以database为例:env文件配置  QUEUE_DRIVER=database

2、创建数据库(jobs、failed_jobs),如果想自定义表名,生成后改一下表名,然后修改配置文件queue.php 中的jobs及failed_jobs为自己的表名

1 php artisan queue:table
2 php artisan queue:failed-table
3 php artisan migrate

3、创建任务类

php artisan make:job SendReminderEmail

该命令将会在app/Jobs目录下生成一个新的类,并且该类实现了Illuminate\Contracts\Queue\ShouldQueue接口,告诉Laravel该任务应该被推送到队列而不是同步运行。

例子中用的邮件发送,测试之前请先配置邮件发送

namespace App\Jobs;

use App\Jobs\Job;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;

use Illuminate\Support\Facades\Mail;

class SendReminderEmail extends Job implements ShouldQueue
{
    use InteractsWithQueue, SerializesModels;

    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        //
        $message = "testtesedtsetstwesewrwerewrw";
        $to = ‘[email protected]‘;
        $subject = ‘邮件名称‘;
        Mail::send(
            ‘email.test‘,
            [‘data‘ => $message],
            function ($m) use($to, $subject) {
                $m->to($to)->subject($subject);
            }
        );
    }
}

3、控制器推送到任务(延迟执行、任务分类等,可自行查找手册)

1 $job = (new SendReminderEmail())->delay(5);
2         $this->dispatch($job);

4、测试期可以使用php artisan queue:listen进行队列的监听

原文地址:https://www.cnblogs.com/winstonsias/p/10196514.html

时间: 2024-10-08 05:52:33

laravel 队列使用(发邮件、短信等)的相关文章

zabbix配置及邮件短信报警

Zabbix邮件报警的大致流程如下: 监控主机---->监控项---->触发器---->告警动作---->告警方式---->告警用户 首先添加监控项 1.添加受监控项的主机 组态---主机---右上角"创建主机" 弹出主机创建页面 上图填完后先不要点存档,而是点击左上角的模板,选择要使用的模板(可选择多个模板,一个模板中包含一个或多个监控项目),也可以在"模板"选项中创建一个新的模板,选择完模板后点添加,再点 存档 在主机列表中点击被监

Python发手机短信

印尼的一个服务商在为你默默提供.https://www.twilio.com 上代码: from twilio.rest import Client #导包 account_sid = 'ACc36bf50712a28f0ac74948531d1786d' auth_token = 'd97b85844f9d6a8762f916bdad4c903' client = Client(account_sid, auth_token) message = client.messages.create(

java windows自动化-mail自动发邮件

本文旨在让测试人员了解如何发邮件 发邮件的话,最简单的事是直接手动发邮件,但是在自动化测试中,应做到让机器或者代码来自动发送邮件,笔者大概了解以下几种方法,总有一款口味适合你:1java代码来做下面即为我的java代码package util;import javax.activation.DataHandler;import javax.activation.FileDataSource;import javax.mail.*;import javax.mail.internet.*;impo

iOS打电话、发短信、发邮件功能

以下为学习过程中在网上查到的方法, 实现打电话的功能,主要二种方法,下面我就分别说说它们的优缺点. 1.1.发短信(1)——URL // 直接拨号,拨号完成后会停留在通话记录中 1.方法: NSURL *url = [NSURL URLWithString:@"sms://10010"]; [[UIApplication sharedApplication] openURL:url]; 2.优点: –简单 3.缺点: –不能指定短信内容,而且不能自动回到原应用 1.2发短信(2)——M

iOS- 如何将应用集成发短信、发邮件、打电话

1.发短信 实现打电话的功能,主要二种方法,下面就分别说说它们的优缺点. 1.1.发短信(1)——URL // 直接拨号,拨号完成后会停留在通话记录中 a.方法:NSURL *url = [NSURL URLWithString:@"sms://10010"]; [[UIApplication sharedApplication] openURL:url]; b.优点:–简单c.缺点:–不能指定短信内容,而且不能自动回到原应用 1.2发短信(2)——MessageUI框架 如果自定义短

IOS,发短信,发邮件,打电话

今天把APP里常用小功能 例如发短信.发邮件.打电话.全部拿出来简单说说它们的实现思路. 1.发短信实现打电话的功能,主要二种方法,下面我就分别说说它们的优缺点.1.1.发短信(1)——URL // 直接拨号,拨号完成后会停留在通话记录中1.方法: NSURL *url = [NSURL URLWithString:@"sms://10010"]; [[UIApplication sharedApplication] openURL:url]; 2.优点:–简单3.缺点:–不能指定短信

iOS打电话、发短信、发邮件功能开发

本文转载至 http://www.lvtao.net/ios/506.html 今天把APP里常用小功能 例如发短信.发邮件.打电话.全部拿出来简单说说它们的实现思路. 1.发短信实现打电话的功能,主要二种方法,下面我就分别说说它们的优缺点.1.1.发短信(1)——URL // 直接拨号,拨号完成后会停留在通话记录中1.方法: NSURL *url = [NSURL URLWithString:@"sms://10010"]; [[UIApplication sharedApplica

iOS开发中打电话发短信等功能的实现

在APP开发中,可能会涉及到打电话.发短信.发邮件等功能.比如说,通常一个产品的“关于”页面,会有开发者的联系方式,理想情况下,当用户点击该电话号码时,能够自动的帮用户拨出去,就涉及到了打电话的功能. iOS开发中,有三种方式可以打电话: (1)直接跳到拨号界面,代码如下 1 2 NSURL *url = [NSURL URLWithString:@"tel://10010"];  [[UIApplication sharedApplication] openURL:url]; 缺点:

打电话/短信分享/邮件分享

//  Created by apple on 15/6/17. //  Copyright (c) 2015年 Super All rights reserved. // #import "LCShareController.h" #import <MessageUI/MessageUI.h> @interface LCShareController () <MFMessageComposeViewControllerDelegate,MFMailComposeVi

android调用系统的分享功能实现分享到短信,邮件和其他

之前写过一篇文章利用友盟等第三方实现分享到微信,微博和豆瓣等第三方社交站点.本次我们利用系统自带的分享功能去做,虽然简单,但对于以前类似友盟等第三方社交分享组件还没做的成熟的时候,也是一种好的选择.所以这里直接上代码对系统分享做个记录,代码有必要注释,所以就不做啥说明了: /** * 弹出分享列表 */ private void showShareDialog(){ AlertDialog.Builder builder = new AlertDialog.Builder(Thread_Cont