Fork me on Baidu

使用laravel框架---简单队列

在书写队列的时候 首先要配置 (这里以数据库驱动为主) 在env 的文件里 

QUEUE_CONNECTION=database

在 config 的queue 文件中 


<?php

return [

/*
|--------------------------------------------------------------------------
| Default Queue Connection Name
|--------------------------------------------------------------------------
|
| Laravel's queue API supports an assortment of back-ends via a single
| API, giving you convenient access to each back-end using the same
| syntax for every one. Here you may define a default connection.
|
*/

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

/*
|--------------------------------------------------------------------------
| Queue Connections
|--------------------------------------------------------------------------
|
| Here you may configure the connection information for each server that
| is used by your application. A default configuration has been added
| for each back-end shipped with Laravel. You are free to add more.
|
| Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null"
|
*/

'connections' => [

'sync' => [
'driver' => 'sync',
],

'database' => [
'driver' => 'database',//数据库 驱动
'table' => 'jobs', //根据你使用的表进行更改
'queue' => 'default',
'retry_after' => 90,
],
'sqs' => [
'driver' => 'sqs',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
'queue' => env('SQS_QUEUE', 'your-queue-name'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
],

'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => env('REDIS_QUEUE', 'default'),
'retry_after' => 90,
'block_for' => null,
],

],

/*
|--------------------------------------------------------------------------
| Failed Queue Jobs
|--------------------------------------------------------------------------
|
| These options configure the behavior of failed queue job logging so you
| can control which database and table are used to store the jobs that
| have failed. You may change them to any database / table you wish.
|
*/

'failed' => [
'database' => env('DB_CONNECTION', 'mysql'),
'table' => 'failed_jobs',
],

];
好的 到这里 配置就完成了

2,生成 队列任务文件 php artisan make:job TestJob
书写具体的业务逻辑 在handle 方法里
发送邮件为例

 

 4,生成 队列的任务表

php artisan queue:table 

//生成 队列 任务 失败的表 

php artisan queue:failed-table

//执行

php artisan migrate   

5, 调用队列任务 

$job =new TestJob();

dispatch($job);

6,执行队列任务

php artisan queue :work

 

 

 

 

 我找到了 为什么创建表的名称 是那样的 

















 

  

posted @ 2021-01-16 11:10  consideration  阅读(227)  评论(0编辑  收藏  举报