草庐IT

栈和队列

全部标签

php - Laravel 不使用数据库执行作业队列

我正在尝试执行作业队列以在后台进程中执行邮件和短信功能。它正在与QUEUE_DRIVER=sync在.env文件中但是当我将它与数据库一起使用时QUEUE_DRIVER=database即使在使用cli命令后它也无法正常工作:phpartisanqueue:listen请告诉我这种功能有什么问题laravel.log: 最佳答案 这里是我将如何调试它:如果您正在使用supervisor,请将其停止。cd进入你的目录并输入phpartisanqueue:listen如果你看到任何错误,那么你运行的作业类可能有一些问题laravel5.

php - 如何向队列传递参数?

我正在使用Laravel5.5创建一个简单的队列来调整上传图像的大小。我不知道如何将参数传递给队列,例如图像的临时文件位置。我的同事使用旧版本的Laravel,其中可以将字符串传递给作业,例如:$this->dispatch(newExampleJob($foo));但是,在Laravel5.5中以相同的方式传递字符串,例如:ExampleJob::dispatch($foo);将触发“BindingResolutionException”异常,因为它期望模型进行序列化。如果是这样,我该如何传递其他任何东西? 最佳答案 类似的东西在

php - node.js 中的作业队列

我正在node.js中寻找一个可以由php调用的作业队列管理器。这是用于需要发送电子邮件、创建pdf文件等的Web应用程序,我想执行异步的php进程。过程示例:用户请求一个php页面Php调用作业队列管理器并添加任务任务在node.js中与php异步执行,最好是在更安静的时候执行任务是执行一个php脚本为什么是这个“复杂”的系统?我们用php(ZendFramework)编写所有网络应用程序我们想开始学习node.js我们需要一个异步过程(快速响应!)“真正的”任务也应该是一个php脚本,利用已经编写好的php类,轻松访问数据库连接并尽可能保持DRY该系统的用例:用户自行注册,系统发送

栈和队列的相互实现(力扣225、232)

目录栈和队列的区别:栈实现队列:题目描述:示例:画图解释:代码实现:队列实现栈:题目描述:示例:解法一:双队列实现栈代码实现:解法二:单队列实现栈代码实现:栈和队列的区别:队列和栈是两种不同的数据结构。它们有以下区别:(1)操作的名称不同。队列的插入称为入队,队列的删除称为出队。栈的插入称为进栈,栈的删除称为出栈。(2)可操作的方式不同。队列是在队尾入队,队头出队,即两边都可操作。而栈的进栈和出栈都是在栈顶进行的,无法对栈底直接进行操作。(3)操作的方法不同。队列是先进先出(FIFO),即队列的修改是依先进先出的原则进行的。新来的成员总是加入队尾(不能从中间插入),每次离开的成员总是队列头上(

运行主管队列时,Php-worker 在内存中不断增长

当运行主管队列时,php-worker容器的内存不断增加。(如dockerstats中所见)当工作完成时,这个数字不会下降。当队列持续处理作业一段时间后,内存达到100%并崩溃。[program:updater]process_name=%(program_name)s_%(process_num)02dcommand=php/var/www/laravel/artisanqueue:work--daemon--sleep=3--tries=3--timeout=1800--queue=updaterautostart=trueautorestart=unexpectednumproc

php - 在 Laravel 中如何创建一个队列对象并在没有 Facade 的情况下设置它们的连接

在Lumen/Laravel中,我想向给定的队列发送消息。默认情况下,我将它设置为Redis,我希望将它发送到另一个队列服务器,因为另一个应用程序会处理它。我知道我可以做$queue->pushRaw('payload');但是我没有后续的方法来选择连接。我知道我可以使用Facade来创建我的队列:$connection=Queue::connection('connection_name');$connection->pushOn('queue_name',$job)但是我在Lumen中这样做,并希望避免为此方面打开FacadeJust。另外,我想知道如何执行此操作,因为我想最终通过

php - ElasticSearch 查询卡在 laravel 作业队列中

我目前正在使用laravel-elasticsearch我的ES查询的提供者。我在我的laravel队列(使用beanstalkd)处理的作业中使用它。我遇到的问题是,在长时间运行的作业中,最终我无法再将数据插入到elasticsearch中。工作只是挂起(没有抛出异常)我已经将它缩小到我进行ES调用的代码。我的连接是否有可能变得陈旧而不重新连接?我的另一个想法是它与使用Facade和它是一个单例有关。这是我正在做的,这不是我的确切代码。但是当它没有在长时间运行的作业中运行时,代码工作得很好。我只是想提供一些上下文。它插入得很好,在长时间运行的过程之后运行之前,代码运行没有问题。更新:

php - 如何为 Laravel 5 设置数据库队列驱动程序?

我正在使用Laravel构建一个应用程序来接收通知,然后触发事件来处理这些通知。我希望将这些事件排队,以便一次只处理一个事件。我一直在尝试使用文档中说可用的“数据库”队列驱动程序。我已经更改了config/queue.php中的默认驱动程序,因此它被设置为使用“数据库”并且我运行了phpartisanqueue:table来创建作业迁移但是当我向应用程序发送通知时我没有看到任何迹象在作业表或其他任何地方使用的队列。可能出了什么问题?(我的EventHandler类也在使用ShouldBeQueued) 最佳答案 在你的.env文件中

java - TIBCO ems 超出队列限制

我在尝试将消息发送到TIBCOEms队列时遇到异常(如下所示)。javax.jms.ResourceAllocationException:Queuelimitexceededatcom.tibco.tibjms.Tibjmsx.buildException(Tibjmsx.java:523)atcom.tibco.tibjms.TibjmsxSessionImp._publish(TibjmsxSessionImp.java:1390)atcom.tibco.tibjms.TibjmsMessageProducer._publish(TibjmsMessageProducer.jav

java - Trove 库队列实现

我在java项目中使用trove3.0.3库。gnu.trove.queue(TByteQueue,TDoubleQueue...)中的所有类都是接口(interface)。在哪里可以找到Queue类的实现? 最佳答案 您可以使用TDoubleLinkedList模拟简单的double队列。它可以在O(1)时间内插入尾部和头部。 关于java-Trove库队列实现,我们在StackOverflow上找到一个类似的问题: https://stackoverflo