队列 | 更多功能 |《Lumen 中文文档 6.x》| Laravel China 社区


本站和网页 https://learnku.com/docs/lumen/6.x/queues/6116 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

队列 | 更多功能 |《Lumen 中文文档 6.x》| Laravel China 社区
Laravel
话题列表
社区 Wiki
优质外文
招聘求职
Laravel 实战教程
社区文档
登录
注册
Lumen 中文文档
展开或关闭
前言
发行说明
升级说明
入门指南
安装
配置信息
基本功能
路由
中间件
控制器
请求
响应
更多功能
用户认证
用户授权
缓存
数据库入门
加密与解密
错误与日志
事件
邮件
队列
服务容器
服务提供者
测试
数据验证
视图
Laravel
首页
Laravel
Go
PHP
Vue.js
Python
Java
MySQL
Rust
LK
Elasticsearch
F2E 前端
Server
程序员
Database
DevTools
Computer Science
手机开发
AdonisJS
社区
Wiki
教程
Laravel 实战教程首页
《L01 Laravel 教程 - Web 开发实战入门》
《L02 Laravel 教程 - Web 开发实战进阶》
《L03 Laravel 教程 - 实战构架 API 服务器》
《L04 Laravel 教程 - 微信小程序从零到发布》
《L05 Laravel 教程 - 电商实战》
《L06 Laravel 教程 - 电商进阶》
《LX1 Laravel / PHP 扩展包视频教程》
《LX2 PHP 扩展包实战教程 - 从入门到发布》
《L07 Laravel 教程 - Laravel TDD 测试实战》
《LX3 Laravel 性能优化入门》
《LX4 Laravel / PHP 五分钟视频》
文档
社区文档首页
《Laravel 中文文档》
《Laravel 速查表》
《PHP 代码简洁之道》
《Laravel 编码技巧》
《Dcat Admin 中文文档》
《Laravel Nova 中文文档》
《Lumen 中文文档》
《Dingo API 中文文档》
《 Laravel 项目开发规范》
《构建 Laravel 开发环境》
登录
注册
微信登录
提交改进
队列
6.x
6.x
5.7
5.6
5.5
5.3
5.2
5.1
Lumen 中文文档
未匹配的标注
队列
介绍
Lumen 队列服务为各种不同的队列后端提供了统一的 API。队列允许您将耗时任务(如在远程服务器上执行任务)延后处理,这将大大加快对应用程序的 web 请求。
与框架的许多其他部分一样,Lumen 的排队作业与 Laravel 的排队作业功能相同。因此,要了解更多关于 Lumen 中排队作业的信息,请查看 完整的Laravel队列文档。
配置
队列配置选项位于 .env 文件中。
如果要彻底自定义队列配置,则必须将整个 vendor/laravel/lumen framework/config/queue.php 文件复制到项目根目录中的 config 目录中,并根据需要调整必要的配置选项。如果 config 目录不存在,那么您应该创建它。
驱动程序先决条件
Database
若要使用 database 队列驱动程序,您需要数据库表来保存作业和故障:
Schema::create('jobs', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('queue');
$table->longText('payload');
$table->tinyInteger('attempts')->unsigned();
$table->unsignedInteger('reserved_at')->nullable();
$table->unsignedInteger('available_at');
$table->unsignedInteger('created_at');
$table->index(['queue', 'reserved_at']);
});
Schema::create('failed_jobs', function (Blueprint $table) {
$table->increments('id');
$table->text('connection');
$table->text('queue');
$table->longText('payload');
$table->longText('exception');
$table->timestamp('failed_at')->useCurrent();
});
Redis
若要使用 Redis 队列驱动程序,需要通过 Composer 安装 illuminate/redis 包。然后,您应该在 bootstrap/app.php 文件中注册Illuminate\Redis\RedisServiceProvider 。
其他队列依赖项
列出的队列驱动程序需要以下依赖项:
Amazon SQS: aws/aws-sdk-php ~3.0Beanstalkd: pda/pheanstalk ~3.0
与 Laravel 的区别
与框架的许多其他部分一样,Lumen 的排队作业与 Laravel 的排队作业功能相同。因此,要了解更多关于 Lumen 中排队作业的信息,请查看 完整的Laravel队列文档。
不过,我们现在将讨论一些小的分歧。首先,让我们来谈谈排队作业在 Lumen 中是如何产生的。
生成器
Lumen 不包括自动创建新工作类的生成器。相反,您应该复制框架中包含的 ExampleJob 类。这个类提供每个作业类共享的基本结构。 ExampleJob 使用的基本 Job 已包含所需的 interacticsWithQueue、Queueable 和 SerializesModels traits:
<?php
namespace App\Jobs;
class ExampleJob extends Job
/**
* Create a new job instance.
* @return void
*/
public function __construct()
//
/**
* Execute the job.
* @return void
*/
public function handle()
//
调度作业
同样,您应该查阅完整的 Laravel 文档,以获得有关调度排队作业的完整信息;不过,与 Laravel 框架一样,您可以使用 dispatch 功能从 Lumen 应用程序中的任何位置调度作业:
dispatch(new ExampleJob);
当然,你也可以使用 Queue facade。如果你选择使用 facade,请务必在 bootstrap/app.php 文件中取消对 $app->withFacades() 调用的注释:
Queue::push(new ExampleJob);
本文章首发在 LearnKu.com 网站上。
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
原文地址:https://learnku.com/docs/lumen/6.x/queue...
译文地址:https://learnku.com/docs/lumen/6.x/queue...
上一篇
下一篇
Markdown 文本
纠错改进
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
贡献者:3
推荐文章:
更多推荐...
博客
如何使用 Laravel 的队列机制?有哪些场景需要使用队列 ?
12
1年前
博客
记 Laravel Observer 导致 Redis 队列异常
25
24
1年前
博客
redis应用系列二:异步消息队列:生产/消费模式实现及优化
13
1年前
博客
RabbitMQ实战《延迟队列》
64
32
2年前
博客
知识分享--消息队列
41
2年前
翻译
Laravel 队列实战教程:构建一个简单的统计应用
14
2年前
讨论数量: 0
发起讨论
只看当前版本
暂无话题~
社区赞助商
成为赞助商
关于 LearnKu
LearnKu 是终身编程者的修道场
做最专业、严肃的技术论坛
LearnKu 诞生的故事
资源推荐
《社区使用指南》
《文档撰写指南》
《LearnKu 社区规范》
《提问的智慧》
服务提供商
其他信息
成为版主
所有测验
联系站长(反馈建议)
粤ICP备18099781号-6
粤公网安备 44030502004330号
违法和不良信息举报
由 Summer 设计和编码 ❤
请登录
提交
忘记密码?
or
注册
第三方账号登录
微信登录
GitHub 登录
内容举报
匿名举报,为防止滥用,仅管理员可见举报者。
我要举报该,理由是:
垃圾广告:恶意灌水、广告、推广等内容
无意义内容:测试、灌水、文不对题、消极内容、文章品质太差等
违规内容:色情、暴利、血腥、敏感信息等
不友善内容:人身攻击、挑衅辱骂、恶意行为
科学上网:翻墙、VPN、Shadowsocks,政策风险,会被关站!
不懂提问:提问太随意,需要再做一遍《提问的智慧》测验
随意提问:提问没有发布在社区问答分类下
排版混乱:没有合理使用 Markdown 编写文章,未使用代码高亮
内容结构混乱:逻辑不清晰,内容混乱,难以阅读
标题随意:标题党、标题不释义
尊重版权:分享付费课程、破解软件(付费),侵犯作者劳动成果
其他理由:请补充说明
举报
取消