草庐IT

栈队列

全部标签

php - 查询 Laravel 队列的大小

我打算使用LaravelQueue,现在我正在做一些研究:是否可以获取Laravel队列的大小?更好的是,我可以获得Laravel队列的一些统计信息吗? 最佳答案 Queue::size($queue);sizemethod将返回给定队列的大小。Queue::size()将返回默认队列的大小。如果你使用的是redis,你可以使用LaravelHorizon更详细地了解队列中发生的情况。 关于php-查询Laravel队列的大小,我们在StackOverflow上找到一个类似的问题:

php - 在 Laravel 队列/重命名作业表中自定义作业和作业表

当我尝试phpartisanqueue:table它给了我以下错误[InvalidArgumentException]ACreateJobsTablemigrationalreadyexists.这是因为我已经将名为CreateJobsTable的迁移用于其他目的。我无法重命名此表和迁移。有什么方法可以将迁移重命名为CreateJobsQueueTable或其他相关内容?我们可以重命名artisan用“queue:table”创建的工作表吗? 最佳答案 是的。编辑此文件config\queue.php:[....'database'

php - 如何在 Symfony 3 中实现异步队列运行方法

首先,关于我的项目的一些基本信息:我有一个使用Symfony3构建的网站。对于某些任务,我正在考虑实现以运行异步PHP方法。有些事件会占用大量时间,但其结果不需要立即显现。例如:在方法newOrder中,我有函数addUserLTV,它只执行几个步骤。客户不必等待所有步骤完成,只需在基本操作后立即获得确认-'newOrder'将添加addUserLTV到队列并立即显示确认(完成运行)。队列任务将在服务器有时间执行时运行。publicfunctionaddUserLTV($userID,$addLTV){//samecode}怎么做?在symphony3中有可能吗?

php - 让 PHP 脚本永远循环执行来自队列系统的计算作业

目前我有一个永久运行在我的服务器上的perl脚本,检查SQS以获取要计算的数据。这个脚本已经运行了大约6个月,从来没有出现过任何问题。所以,现在我想切换到PHP的CLI,让脚本永远循环。主要是因为我对PHP比较熟悉。基本上,$i="forever";while($i==="forever"){doSomething();sleep(10);}脚本将执行shell_exec("/shell_script.sh");最多可能需要2小时来处理。这会触发最大执行时间或类似时间吗?这样做“可以”吗?如果没有,有什么选择? 最佳答案 您需要确保

php - 如何使用 swiftmailer 获取电子邮件队列 ID?

当我使用telnetsmtp服务器发送电子邮件时,服务器回答我2502.0.0Ok:queuedas7A821440123E发送电子邮件时。所以我需要获取ID7A821440123E来跟踪邮件日志中的电子邮件。是否可以使用Swiftmailer获取此信息? 最佳答案 SwiftMailer是基于事件的,因此其他开发人员可以轻松扩展它。每次调用Swift_Transport上的send方法时,都会调度适当的事件。您可以使用已经开发的监听器(插件)或编写您自己的监听器,这将更加自定义。现有插件SwiftMailer已经推出了一些plug

php - 用于大规模任务调度的可扩展作业队列系统

关闭。这个问题不满足StackOverflowguidelines.它目前不接受答案。想改善这个问题吗?更新问题,使其成为on-topic对于堆栈溢出。1年前关闭。Improvethisquestion场景:TL;DR-我需要一个队列系统来根据future的时间戳而不是插入的顺序来触发作业我有一个条目的MySQL数据库,其中详细说明了需要执行的特定事件(主要包括一系列算术计算和数据库插入/更新),这些事件以基于时间戳的精确顺序排列。条目插入的时间与事件将“执行”的时间没有相关性,而是由外部因素决定的。该表还包含第二列毫秒,用于提高计时精度。该表是作业“队列”的一部分,其中包含设置为在f

php - Laravel 4.1 邮件队列与 beantalkd 驱动程序 - "Insufficient data for unserializing"

我正在开发我的第一个Laravel应用程序,在尝试使用Mail::queue发送电子邮件来排队发送电子邮件时遇到了一个奇怪的问题。我最初使用的是sync驱动程序并且一切正常,但是现在切换到beanstalkd驱动程序后它停止发送我的电子邮件。我的配置如下:Ubuntu13.10Laravel4.1PHP5.5.3通过apt-get安装Beanstalkd1.8"pda/pheanstalk":"2.1.*"composer.json我注意到每次我运行$phpartisanqueue:work我得到:[ErrorException]Insufficientdataforunseriali

php - 如何检查 Beanstalkd 队列中的作业是否已在 Laravel 中完成

我需要检查添加到队列(Beanstalkd)的作业是否已在Laravel(Laravel5)中完成,如果完成,我需要返回更新的记录(添加到队列更新记录的任务在数据库中)。我已经添加到我的composer.json:"pda/pheanstalk":"3.*"我以这种方式将作业添加到队列中:$jobId=Queue::push('App\Class',$object->toArray(),$this->getQueueName());我使用以下函数检查作业是否完成:publicfunctionfind($queueName,$jobId,$recordId){$phean=Queue::

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”异常,因为它期望模型进行序列化。如果是这样,我该如何传递其他任何东西? 最佳答案 类似的东西在