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

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

QUEUE_CONNECTION=database

在 config 的queue 文件中

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 方法里

发送邮件为例

bcd5d23c91302b7beb5d7e4277ee0cec.png

4,生成 队列的任务表

php artisan queue:table

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

php artisan queue:failed-table

//执行

php artisan migrate

5, 调用队列任务

$job =new TestJob();

dispatch($job);

6,执行队列任务

php artisan queue :work

d08e6186e7fbbbb6603b1b951a99092f.png

a080d04733e5a40a85f58ac88543b943.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值