剖析Laravel队列系统--初探

译文 GitHub 原文链接Laravel 接收请求,做一些工作,然后向用户返回响应,这是处理请求的 Web 服务器的正常同步工作流程,但有时您需要在后台执行不中断或减慢的一些流程,例如在订单之后向用户发送发票电子邮件,你不想让用户等待邮件服务器接收请求,构建电子邮件消息,然后分派给用户,你只要向屏幕发送“谢谢!”给用户,电子邮件在后台准备和发送,他继续做他自己的事。Laravel 配...
阅读全文

Flutter 实现根据环境加载不同配置

之前做后端开发的时候,不管是什么语言或者框架,都习惯根据不同环境加载不同的开发配置,比如本地开发的时候,加载 local.env 配置,部署开发环境的时候加载 develop.env 配置,通常通过一个环境变量来决定加载相应的配置。最近在开发一款 Flutter App,我也希望 App 在不同的环境中加载不同的配置文件,实现的方式如下,如有不妥还请指出。首先在`lib`建立多个`main.d...
阅读全文

剖析Laravel队列系统--准备队列作业

原文链接Every job we push to queue is stored in some storage space sorted by the order of execution, this storage place could be a MySQL database, Redis store, or a 3rd party service like Amazon SQS.我...
阅读全文

剖析Laravel队列系统--推送作业到队列

译文 GitHub 原文链接有几种方法可以将作业推送到队列中:```phpQueue::push(new InvoiceEmail($order));Bus::dispatch(new InvoiceEmail($order));dispatch(new InvoiceEmail($order));(new InvoiceEmail($order))dispatch();...
阅读全文

剖析Laravel计划任务--初探

译文 GitHub 原文链接 想象这种情况,作为一个大型 SaaS 的开发者,您需要找到一种在周末每分钟选择 10 个随机客户的方式,并提供折扣升级,发送折扣的工作可能非常简单,但我们需要每分钟运行一次,为此我分享一些 CRON 的简要介绍给还不熟悉人。CRON====CRON 是一个守护进程,它驻留在你的 linux 服务器中,大部分时间都没有唤醒,但是每一分钟它都会睁开双眼,...
阅读全文

剖析Laravel计划任务--事件属性

译文 GitHub 原文链接 你添加的每个记录都将转换为 `Illuminate\Console\Scheduling\Event` 的实例,并存储在 Scheduler 的 `$events` 类属性中,Event 对象由以下内容组成: 命令运行 CRON 表达式 用于评估时间的时区 操作系统运行该命令的用户 命令应该运行的环境列表 维护模式配置 ...
阅读全文

剖析Laravel计划任务--创建和运行系统命令

译文 GitHub 原文链接 在启动计划任务的事件的时候,Laravel 的进度管理器在`Illuminate\Console\Scheduling\Event`对象上调用 `run()` 方法,表示该事件发生在 `Illuminate\Console\Scheduling\ScheduleRunCommand` 内。这个 `run()` 方法构建命令语法,并使用 Symfony Pr...
阅读全文

剖析Laravel计划任务--避免重复

译文 GitHub 原文链接 有时一个预定的工作需要比我们最初预期的更多的时间运行,这样会导致另外一个工作的实例开始,而第一个还没有完成,例如,我们运行一个每分钟生成报告的工作有时候当数据变大时,报表生成可能需要 1 分钟以上,这样就可以在第一个还在进行时启动该作业的另一个实例。在大多数情况下,这是很好的,但有时候应该防止这种情况,以保证正确的数据或防止高的服务器资源消耗,所以让我们看...
阅读全文

剖析Laravel队列系统--Worker

译文 GitHub 原文链接 现在,我们知道了 Laravel 如何将作业推到不同的队列中,让我们来深入了解 workers 如何运作你的作业。 首先,我将 workers 定义为一个在后台运行的简单 PHP 进程,目的是从存储空间中提取作业并针对多个配置选项运行它们。```phpphp artisan queue:work```运行此命令将指示 Laravel 创建应用程序...
阅读全文

Laravel Passport API 认证使用小结

看到常有人问 Laravel Passport 用于密码验证方式来获取 Token 的问题,刚好我最近一个 API 项目使用 Laravel `Dingo Api`+`Passport`,也是使用 Oauth2 的`'grant_type' = 'password'`密码授权来做 Auth 验证,对于如何做登录登出,以及多账号系统的认证等常用场景做一下简单的使用小总结。 基本配置基本安装配...
阅读全文