个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈
Job-Queue 任务-队列的应用场景,是将耗时的任务延时(异步)处理,比如发送邮件,从而大幅度缩短 Web 请求和响应的时间。
1,队列
1.1 连接和队列 connection 和 queue
在配置文件 config/queue.php 有一个 connections 配置项。该配置项定义了后台队列服务的特定 连接器,如 Amazon SQS, Beanstalk, 或 Redis。
每种队列连接器(connection)都可以有很多队列(queue),可以想象在银行办理不同业务的各个窗口队列。
<?php
return [
//默认的队列连接名称
'default' => env('QUEUE_CONNECTION', 'sync'),
//队列连接名称
'connections' => [
'sync' => [
'driver' => 'sync',
],
.
.
.
'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => env('REDIS_QUEUE', 'default'),
'retry_after' => 90,
'block_for' => null,
],
],
//失败队列连接器
'failed' => [
'database' => env('DB_CONNECTION', 'mysql'),
'table' => 'failed_jobs',
],
];
请注意 queue 配置文件中的connections里面的每个连接器配置示例都有一个 queue 属性。比如上文中的redis,它的queue的默认值就是 default。当新的队列任务被添加到指定的连接时,该配置项的值就是默认监听的队列。换句话说,如果你没有指派特别的队列名称,那么 q

本文介绍了Laravel中Job-Queue的任务队列机制,包括连接和队列配置、Redis作为队列连接器的设置、任务类的创建以及如何发放任务到队列。讲解了如何使用dispatch()辅助函数推送任务,并启动队列监听。强调了在启动队列前需确保无未处理任务,否则可能需要清除队列。
最低0.47元/天 解锁文章
2785

被折叠的 条评论
为什么被折叠?



