当前位置: 首页 > news >正文

laravel队列

laravel redis队列

1、创建job队列任务

php artisan make:job StoreUser

执行上述命令后,会生成app/Jobs/StoreUser.php文件,编辑文件内容如下:

<?phpnamespace App\Jobs;use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\DB;class StoreUser implements ShouldQueue
{use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;/*** Create a new job instance.** @return void*/public function __construct(){}/*** 执行队列的时候就会执行该handle方法** @return void*/public function handle(){var_dump("开始队列了....");Db::table('student')->insert(['name'=>'Xiao San2']);var_dump("laravel自定义队列触发了");}public function fail($exception = null){dd('发送失败');}
}

二、书写控制器TestController.php方法如下:

<?phpnamespace App\Http\Controllers;use App\Jobs\StoreUser;class TestController extends Controller
{public function index(){//加入到队列中,延迟60秒$job = (new StoreUser())->delay(60);$this->dispatch($job);return response()->json(['msg' => "测试队列...ok~~~"]);}
}

三、添加web.php路由

<?phpuse Illuminate\Support\Facades\Route;Route::get('index', [\App\Http\Controllers\TestController::class, 'index']);

四、.env文件的QUEUE_CONNECTION项修改为如下配置

QUEUE_CONNECTION=redis

五、开始执行测试

①首先命令行执行命令:

php artisan queue:work

改命令用于监听往队列中添加任务的

②浏览器访问路由 localhost/laravel_blog/public/index

返回信息如下:

{msg: "测试队列...ok~~~"
}

③查看redis中的任务数据

在这里插入图片描述

④查看控制台信息

在这里插入图片描述

⑤60秒以后,redis队列中的数据就被消费了,没有了

在这里插入图片描述

注意一条:

保证你的浏览器请求时的服务PHP版本和PHP命令行版本一致并且是同一个PHP,否则会采坑!!!特别是对一个机器上安装了多版本的PHP用户,这就是个大坑!!!

相关文章:

laravel队列

laravel redis队列 1、创建job队列任务 php artisan make:job StoreUser执行上述命令后&#xff0c;会生成app/Jobs/StoreUser.php文件&#xff0c;编辑文件内容如下&#xff1a; <?phpnamespace App\Jobs;use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queu…...

【计算机网络】TCP 协议的相关特性

TCP&#xff08;传输控制协议&#xff09;是一种面向连接的、可靠的、基于字节流的协议。以下是TCP协议的相关特性&#xff1a; 可靠性&#xff1a;TCP通过确认和重传机制保证数据的可靠传输。 面向连接&#xff1a;TCP在传输数据前需要先建立连接。连接的建立过程包括三次握手…...

[软件安装] tmux安装及相关事项

tmux安装及相关事项 tmux是一个终端复用工具&#xff0c;可以在单个终端窗口中同时运行多个终端会话。安装tmux可以提高工作效率&#xff0c;使命令行操作更加方便。 1. 安装tmux&#xff1a; 在Linux系统下&#xff0c;可以使用包管理器来安装tmux&#xff0c;比如在Ubuntu…...

leetcode 887 ——扔鸡蛋

题目大意&#xff1a; 你有k个鸡蛋&#xff0c;对n层楼的建筑&#xff0c;请确认在f层扔鸡蛋鸡蛋恰好不会破碎的最少次数&#xff08;f满足 0 < f < n&#xff09;。 方法一&#xff1a; 状态&#xff1a;即会发生变化的量&#xff0c;很明显有两个&#xff0c;当前拥有…...

自动化运维ansible(role)

一、role的介绍 1、Roles称为角色&#xff0c;本质上是为简化playbook配置文件而产生的一种特殊的方法。 2、简单来说&#xff0c;roles就是将原本在一个yaml中的文件进行规则化分散&#xff0c;封装到不同的目录下&#xff0c;从而简化playbook的yaml配置文件大小。从其实现方…...

linux命令笔记

创建文件夹 sudo mkdir 文件夹名vim笔记 vim的查找和退出查找 进入vim 按/ 输入内容即可查找 按enter结束查找vim创建文件并在里面写东西 比如创建文件为 hello.cpp vim hello.cpp查看所有文件 # 查看所有文件&#xff0c;并以列表的形式查看&#xff0c;显示出文件大小 …...

2.3.C++项目:网络版五子棋对战之实用工具类模块的设计

文章目录 一、实用工具类模块&#xff08;一&#xff09;功能 二、设计和封装&#xff08;一&#xff09;日志宏封装&#xff08;二&#xff09;mysql_util封装&#xff08;三&#xff09;Jsoncpp-API封装&#xff08;四&#xff09;file_util封装&#xff08;五&#xff09;st…...

跳跃游戏----题解报告

题目&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题解&#xff1a; 其实就直接挨着跳就行了&#xff0c;循环中不断更新k&#xff0c;不停比较k和当前位置跳跃的最大值即可 代码&#xff1a; public boolean canJump(int[] nums) …...

SpringBoot下的代理注解

EnableAspectJAutoProxy Target(ElementType.TYPE) Retention(RetentionPolicy.RUNTIME) Documented Import(AspectJAutoProxyRegistrar.class) public interface EnableAspectJAutoProxy {// 是否代理目标对象&#xff0c;ture:使用CGLIB代理 fasle:使用JDK代理boolean proxy…...

[C++随想录] 二叉搜索树

搜素二叉树 二叉搜索树的使用二叉搜索树的模拟实现(K)整体结构循环版本递归版本 二叉搜索树的应用源码(kv) 二叉搜索树的使用 二叉搜索树 相较于 普通的二叉树来说: 根节点的左子树的所有键值都 小于 根节点, 根节点的右子树的所有键值 大于 根节点根节点的 左右子树 都是 二…...

Windows Server 2019 搭建FTP站点

目录 1.添加IIS及FTP服务角色 2.创建FTP账户&#xff08;用户名和密码&#xff09;和组 3.设置共享文件夹的权限 4.添加及设置FTP站点 5.配置FTP防火墙支持 6.配置安全组策略 7.客户端测试 踩过的坑说明&#xff1a; 1.添加IIS及FTP服务角色 a.选择【开始】→【服务器…...

Ubuntu 22.04 中安装 fcitx5

Ubuntu 22.04 中安装 fcitx5 可以按照以下步骤进行&#xff1a; 添加 fcitx5 的 PPA 首先&#xff0c;添加 fcitx5 的官方 PPA&#xff1a; sudo add-apt-repository ppa:fcitx-team/fcitx5更新软件包列表 sudo apt update安装 fcitx5 sudo apt install fcitx5 fcitx5-conf…...

CleanMyMac X免费macOS清理系统管家

近些年伴随着苹果生态的蓬勃发展&#xff0c;越来越多的用户开始尝试接触Mac电脑。然而很多人上手Mac后会发现&#xff0c;它的使用逻辑与Windows存在很多不同&#xff0c;而且随着使用时间的增加&#xff0c;一些奇奇怪怪的文件也会占据有限的磁盘空间&#xff0c;进而影响使用…...

CVer从0入门NLP(一)———词向量与RNN模型

&#x1f34a;作者简介&#xff1a;秃头小苏&#xff0c;致力于用最通俗的语言描述问题 &#x1f34a;专栏推荐&#xff1a;深度学习网络原理与实战 &#x1f34a;近期目标&#xff1a;写好专栏的每一篇文章 &#x1f34a;支持小苏&#xff1a;点赞&#x1f44d;&#x1f3fc;、…...

乐观锁和悲观锁

目录 悲观锁&#xff1a;乐观锁&#xff1a;CAS算法:版本号机制&#xff1a;write_condition 机制&#xff1a;时间戳&#xff1a;ReentrantLock 类&#xff1a; 独占锁&#xff1a;synchronized 关键字&#xff1a; 悲观锁&#xff1a; 1、理解&#xff1a;总是假设最坏的情况…...

用 pytorch 训练端对端验证码识别神经网络并进行 C++ 移植

文章目录 前言安装安装 pytorch安装 libtorch安装 opencv&#xff08;C&#xff09; 准备数据集获取训练数据下载标定 编码预分析 数据集封装格式 神经网络搭建神经网络训练神经网络测试神经网络预测C 移植模型转换通过跟踪转换为 Torch Script通过注解转换为 Torch Script 编写…...

leetcode 739. 每日温度、496. 下一个更大元素 I

739. 每日温度 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 示例 1: …...

Photon——Fusion服务器(Failed to find entry-points:System.Exception: )

文章目录 前言解决方案:1.报警信息如下2.选择3d urp3.引入Fusion之后选择包管理,点击Burst中的Advanced Project Settings4.勾选两个预设选项5.引入官网unity.burst6.更新后报警消失总结前言 制作局域网游戏,出现未找到进入点报警 Failed to find entry-points 解决方案: …...

双十一必买好物,这四款好物你值得拥有

随着科技的不断发展&#xff0c;智能家电已经成为我们生活中不可或缺的一部分。在双十一期间&#xff0c;各大品牌都会推出各种优惠活动&#xff0c;以更优惠的价格购买到心仪的智能家电。比如智能超声波清洗机&#xff0c;智能门锁&#xff0c;它们不仅提高了我们的生活质量&a…...

视频号视频如何下载(WeChatVideoDownloader)

背景介绍 最近需要一个视频号里面的视频进行宣传用&#xff0c;网上找了很多方法都不行&#xff0c;特别是下载抓包工具Fiddler&#xff0c;然后监控HTTPS请求的&#xff0c;截取URL把URL中20302改成20304&#xff0c;再用IDM工具下载对应的资源&#xff0c;最后修改后缀名.mp…...

打造你的专属漫画阅读体验:Venera跨平台漫画阅读器完整指南

打造你的专属漫画阅读体验&#xff1a;Venera跨平台漫画阅读器完整指南 【免费下载链接】venera A comic app 项目地址: https://gitcode.com/gh_mirrors/ve/venera 你是否曾经为漫画资源分散在不同设备和平台而感到困扰&#xff1f;电脑里存着PDF格式的漫画&#xff0c…...

C#调用C++ DLL实战:P/Invoke结构体对齐的那些坑(附完整解决方案)

C#调用C DLL实战&#xff1a;P/Invoke结构体对齐的那些坑&#xff08;附完整解决方案&#xff09; 当C#需要与遗留C代码库交互时&#xff0c;P/Invoke是最常用的桥梁技术。但在实际项目中&#xff0c;结构体内存对齐问题就像潜伏的幽灵——开发时一切正常&#xff0c;运行时却突…...

多仪器数字电子实验箱,数字电路实验箱,电路实验箱

数字电子实验教学系统 型号&#xff1a;QyDE02一、实验教学系统主要特点1.实验教学系统采用主实验箱模块化的结构组合方式设计&#xff1b;配有实验板安装接口底座&#xff0c;实验板更换简便&#xff1b;多模块集成&#xff0c;支持数字电子电路系统设计与性能验证&#xff0…...

如何用 Tree-shaking 自动剔除未引用的冗余库代码

Tree-shaking未生效主因是模块格式与打包器分析能力不匹配&#xff1a;需确保ESM规范、避免CommonJS混用、精准导入子路径、检查sideEffects声明及导出方式&#xff0c;并在production构建后通过stats或可视化工具验证。Tree-shaking 为什么没生效&#xff1f;先看打包器和模块…...

Huggingface-CLI实战:从零搭建个人AI模型库(含国内镜像站配置)

Huggingface-CLI实战&#xff1a;从零搭建个人AI模型库&#xff08;含国内镜像站配置&#xff09; 当你第一次尝试下载某个热门AI模型时&#xff0c;是否经历过漫长的等待甚至中途失败&#xff1f;作为国内开发者&#xff0c;我们常常面临这样的困境。但很少有人告诉你&#xf…...

Jenkins自动化部署:如何安全存储和使用npm的authToken(附最佳实践)

Jenkins自动化部署中npm authToken的安全管理实践 在持续集成与持续交付(CI/CD)的现代开发流程中&#xff0c;npm作为前端生态的核心包管理工具&#xff0c;其认证机制的安全管理已成为DevOps工程师必须掌握的关键技能。传统交互式登录方式在自动化环境中显得笨拙且脆弱&#…...

魔兽世界GSE宏编辑器终极指南:5步掌握技能自动化与游戏操作优化

魔兽世界GSE宏编辑器终极指南&#xff1a;5步掌握技能自动化与游戏操作优化 【免费下载链接】GSE-Advanced-Macro-Compiler GSE is an alternative advanced macro editor and engine for World of Warcraft. 项目地址: https://gitcode.com/gh_mirrors/gs/GSE-Advanced-Mac…...

告别安装失败:用Miniconda在Win11上优雅搭建完整Anaconda环境

优雅构建Python数据科学环境&#xff1a;Miniconda与Win11的完美结合 在数据科学和机器学习领域&#xff0c;Python环境管理一直是个令人头疼的问题。传统做法是直接安装Anaconda完整版&#xff0c;但这种方式往往带来不必要的臃肿和潜在的安装问题。本文将介绍一种更优雅的解决…...

**图神经网络实战:用PyTorch Geometric构建社交关系预测模型**在当前人工智能飞速发展的背景下,**图神经网络(GN

图神经网络实战&#xff1a;用PyTorch Geometric构建社交关系预测模型 在当前人工智能飞速发展的背景下&#xff0c;图神经网络&#xff08;GNN&#xff09; 已成为处理复杂结构化数据的利器&#xff0c;尤其在社交网络分析、推荐系统和知识图谱等领域表现卓越。本文将带你从零…...

dl-librescore用户脚本完全指南:在浏览器中一键下载乐谱

dl-librescore用户脚本完全指南&#xff1a;在浏览器中一键下载乐谱 【免费下载链接】dl-librescore Download sheet music 项目地址: https://gitcode.com/gh_mirrors/dl/dl-librescore dl-librescore是一款强大的用户脚本工具&#xff0c;专为音乐爱好者设计&#xff…...