laravel redis佇列 郵件推送

2021-08-18 14:54:23 字數 2612 閱讀 6547

1:首先我們先使用 composer 安裝依賴:

$ composer require "predis/predis:~1.0"
2:在配置檔案中配置預設佇列驅動為redis,佇列配置檔案是config/queue.php

return [

'default' => env('queue_driver', 'sync'),

'connections' => [

'sync' => [

'driver' => 'sync',

],'database' => [

'driver' => 'database',

'table' => 'jobs',

'queue' => 'default',

'expire' => 60,

],'beanstalkd' => [

'driver' => 'beanstalkd',

'host' => 'localhost',

'queue' => 'default',

'ttr' => 60,

],'sqs' => [

'driver' => 'sqs',

'key' => 'your-public-key',

'secret' => 'your-secret-key',

'queue' => 'your-queue-url',

'region' => 'us-east-1',

],'iron' => [

'driver' => 'iron',

'host' => 'mq-aws-us-east-1.iron.io',

'token' => 'your-token',

'project' => 'your-project-id',

'queue' => 'your-queue-name',

'encrypt' => true,

],'redis' => [

'driver' => 'redis',

'connection' => 'default',

'queue' => 'default',

'expire' => 60,

],],

'failed' => [

'database' => 'mysql', 'table' => 'failed_jobs',

],];

該配置檔案第乙個配置項default用於指定預設的佇列驅動,這裡我們將其值改為redis

3:建立失敗程序記錄表

$ php artisan queue:failed-table

$ php artisan migrate

4:接下來建立任務類

php artisan make:job sendreminderemail
執行成功後會在

目錄下生成乙個sendreminderemail.php,我們修改其內容如下:

<?php 

use illuminate\bus\queueable;

use illuminate\contracts\mail\mailer;

use illuminate\queue\serializesmodels;

use illuminate\queue\interactswithqueue;

use illuminate\contracts\queue\shouldqueue;

class sendreminderemail implements shouldqueue

/*** execute the job.

** @return void

*/public function handle(mailer $mailer));}

}

5:下面我們建立郵件區域性檢視resources/views/emails/reminder.blade.php

試驗成功

6:在controller裡寫乙個正常的訪問請求

route::get('/queued/', 'mailcontroller@sendreminderemail');
7:開啟監聽佇列

php artisan queue:listen
8:配置傳送郵箱

實現celery中出現擁擠佇列時,及時發郵件通知

裡面有幾個常用的功能,以後值得借鑑。如獲取指令碼目錄,ip,獲取shell返回值,傳送郵件等.上午寫完,中午測試,下午上線 usr bin env python coding utf 8 import smtplib from email.mime.text import mimetext impo...

南郵ctf mysql 南郵CTF SQL注入題

南郵ctf sql注入題 題目 gbk sql injection 解析 1.判斷注入點 加入單引號發現被反斜槓轉移掉了,換乙個,看清題目,gbk,接下來利用寬位元組進行注入 2.使用 df 進行注入,emm報錯,於是加入老手段,and 1 1 23,ok,沒報錯,說明成功 3.繼續改引數,1 2時...

南郵ctf mysql 南郵CTF SQL注入題

南郵ctf sql注入題 題目 gbk sql injection 解析 1.判斷注入點 加入單引號發現被反斜槓轉移掉了,換乙個,看清題目,gbk,接下來利用寬位元組進行注入 2.使用 df 進行注入,emm報錯,於是加入老手段,and 1 1 23,ok,沒報錯,說明成功 3.繼續改引數,1 2時...