laravel queue Closure

2023-11-02 04:59
文章标签 queue laravel closure

本文主要是介绍laravel queue Closure,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PS:在5.1中的官方文档中好像没有Queue::push(function(){});这种API。
今天我在群里看到一个群友说,找不到db中Queue的变量名,我记得是可以找到的,然后我就去找了。
创建了一个jobs 的mysql table 。
不需要使用队列处理进程(万一刚压入队列中的jobs马上就执行了,就不好玩了)。

然后在routes.php

route::get('queue', function(){
$id = 264;
Queue::push(function($job) use ($id)
{
echo $id;
$job->delete();
});
});

之后就可以在jobs中看到这样的信息了:

default {"job":"IlluminateQueueClosure","data":{"closure":"eyJpdiI6IjBMZ0laSXhlSjc4T1dKbkZ3WVhaZWc9PSIsInZhbHVlIjoiZGdwMW5RbWdVQTQ5eVJGZ051cW56QTRTWkRDUHdUZG9HSjVaUWYxMEZPRzJxOTMzZ2ZOVStFd1RKbG1PcE9rMDZnMjBtYStIcEJuRk1oZkljMm5Lb0tZSm1UWWd3bDB5QmlGbFZ5S0hcL2pidmgzK2ZIZ3p1bTV6NWJlVGx1cFZnVWxTc2lBVFliNVpId0xPd08wdjBZeHVCUW9jcGF5TFQyUkNZWWlhY2lBUCtKZEtpenh4THlHRWtnVnFQbUlFOVdNK2VYbDB6U2JXaVByaFYrNkdcL1FDZllxNDN0Vlp0dHIzSUJKak5LOWxIQkpSSHgyTVFSYzIrT1BpcVpSZDg4cnN6TGc3N3JXaGNucVwvMFVPTEI1T3hwVU5yNldYaUQzVnQzTE9wbEgxaTRyZTRiS0lYbG9PRG9YSHZVRUV0bWJrNHFscDFldk9HNTdPTllkU3BneU9vVXE4RmVDaUw3ZjRXQzYxZnBheUowPSIsIm1hYyI6Ijc5YjdmMGM0OWM3N2FlMTUwNTM5MDdiN2MzZmRkNGU0YWRjY2Q5OGExODI3NGRmYWIyYjE5NmQ5MTVkMTQwYjAifQ=="}} 0 0 1442382262 1442382262

我记得在之前的某一天我如此操作生成这些信息(一样的操作,都是压入到队列中),payload字段不是加密的。
payload字段是被加密的, 我需要解密它,然后我分别查找了一下文件:
\vendor\laravel\framework\src\Illuminate\Queue\Queue.php
\vendor\laravel\framework\src\Illuminate\Queue\QueueServiceProvider.php
\vendor\laravel\framework\src\Illuminate\Queue\IlluminateQueueClosure.php
\vendor\laravel\framework\src\Illuminate\Queue\DatabaseQueue.php
大概就是这几个文件吧, 我发现插入数据前有一步是加密数据,而且使用的EncrypterContract这个接口的继承者来加密的
然后我是用了
    dd(unserialize(Crypt::decrypt('eyJpdiI6IjBMZ0laSXhlSjc4T1dKbkZ3WVhaZWc9PSIsInZhbHVlIjoiZGdwMW5RbWdVQTQ5eVJGZ051cW56QTRTWkRDUHdUZG9HSjVaUWYxMEZPRzJxOTMzZ2ZOVStFd1RKbG1PcE9rMDZnMjBtYStIcEJuRk1oZkljMm5Lb0tZSm1UWWd3bDB5QmlGbFZ5S0hcL2pidmgzK2ZIZ3p1bTV6NWJlVGx1cFZnVWxTc2lBVFliNVpId0xPd08wdjBZeHVCUW9jcGF5TFQyUkNZWWlhY2lBUCtKZEtpenh4THlHRWtnVnFQbUlFOVdNK2VYbDB6U2JXaVByaFYrNkdcL1FDZllxNDN0Vlp0dHIzSUJKak5LOWxIQkpSSHgyTVFSYzIrT1BpcVpSZDg4cnN6TGc3N3JXaGNucVwvMFVPTEI1T3hwVU5yNldYaUQzVnQzTE9wbEgxaTRyZTRiS0lYbG9PRG9YSHZVRUV0bWJrNHFscDFldk9HNTdPTllkU3BneU9vVXE4RmVDaUw3ZjRXQzYxZnBheUowPSIsIm1hYyI6Ijc5YjdmMGM0OWM3N2FlMTUwNTM5MDdiN2MzZmRkNGU0YWRjY2Q5OGExODI3NGRmYWIyYjE5NmQ5MTVkMTQwYjAifQ==')));
这种方式解密。
PS:并不懂代码。只是看了部分代码。
PS:打算看laravel源代码,但是太难了。

 

转载于:https://www.cnblogs.com/zzx11235/articles/4814063.html

这篇关于laravel queue Closure的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/328302

相关文章

C++——stack、queue的实现及deque的介绍

目录 1.stack与queue的实现 1.1stack的实现  1.2 queue的实现 2.重温vector、list、stack、queue的介绍 2.1 STL标准库中stack和queue的底层结构  3.deque的简单介绍 3.1为什么选择deque作为stack和queue的底层默认容器  3.2 STL中对stack与queue的模拟实现 ①stack模拟实现

ActiveMQ—Queue与Topic区别

Queue与Topic区别 转自:http://blog.csdn.net/qq_21033663/article/details/52458305 队列(Queue)和主题(Topic)是JMS支持的两种消息传递模型:         1、点对点(point-to-point,简称PTP)Queue消息传递模型:         通过该消息传递模型,一个应用程序(即消息生产者)可以

laravel框架实现redis分布式集群原理

在app/config/database.php中配置如下: 'redis' => array('cluster' => true,'default' => array('host' => '172.21.107.247','port' => 6379,),'redis1' => array('host' => '172.21.107.248','port' => 6379,),) 其中cl

Laravel 面试题

PHP模块 PHP7 和 PHP5 的区别,具体多了哪些新特性? 性能提升了两倍 结合比较运算符 (<=>) 标量类型声明 返回类型声明 try…catch 增加多条件判断,更多 Error 错误可以进行异常处理 匿名类,现在支持通过new class 来实例化一个匿名类,这可以用来替代一些“用后即焚”的完整类定义 …… 了解更多查看文章底部链接 PHP7 新特性 为什么 PHP

Java-数据结构-栈和队列-Stack和Queue (o゚▽゚)o

文本目录: ❄️一、栈(Stack):     ▶ 1、栈的概念:   ▶ 2、栈的使用和自实现:      ☑ 1)、Stack():       ☑ 2)、push(E e):      ☑ 3)、empty():         ☑ 4)、peek(E e):        ☑ 5)、pop(E e):       ☑ 6)、size(E e):  ▶ 3、栈自实现的总代

stack,queue, priority_queue

STL 中栈的使用方法(stack) #include <stack> 基本操作: push(x) 将x加入栈中,即入栈操作 pop() 出栈操作(删除栈顶),只是出栈,没有返回值 top() 返回第一个元素(栈顶元素) size() 返回栈中的元素个数 empty() 当栈为空时,返回 true STL 中队列的使用(queue) #i

HDU 1297 Children’s Queue

题目: http://acm.hdu.edu.cn/showproblem.php?pid=1297 题解: D[n]表示有n个人时,满足排队要求的个数。 分类讨论: 1.第n个人为男生时,满足排队要求的个数等于D[n-1]. 2.第n个人为女生时,第n-1个必为女生,才满足要求。 此处还要进行一次分类: a.前n-2个满足排队要求时,个数为D[n-2]. b.前n-2个不满足

Laravel安全应用模块示例教程

前言 Laravel 是一个流行的 PHP 框架,它提供了一套丰富的功能来帮助开发者构建安全、可维护的应用程序。下面,我将详细解释 Laravel 中关于认证、CSRF 保护、授权、哈希、加密、密码重置等安全模块的实现逻辑、应用场景以及相应的示例代码。 详情见官方中文文档 一. 认证(Authentication) Laravel的认证系统是一个强大且灵活的用户身份验证解决方案,它基于PHP

C++ STL-Queue容器概念及应用方法详解

1. 再谈队列 队列和栈不同,队列是一种先进先出的数据结构,STL的队列内容极其重要,虽然内容较少但是请务必掌握,STL的队列是快速构建搜索算法以及相关的数论图论的状态存储的基础。 概念:Queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口。 队列容器允许从一端新增元素,从另一端移除元素。队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历

ORA-24067: exceeded maximum number of subscribers for queue ADMIN.SMS_MT_QUEUE

临时处理办法: delete from aq$_ss_MT_tab_D;delete from aq$_ss_MT_tab_g;delete from aq$_ss_MT_tab_h;delete from aq$_ss_MT_tab_i;delete from aq$_ss_MT_tab_p;delete from aq$_ss_MT_tab_s;delete from aq$