问题标签 [laravel-queue]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
464 浏览

php - Laravel - 通过编码触发所有队列

我正在创建 5 个名为 q1、q2..q5 的队列,每个队列都有一个要执行的作业。要同时运行所有 5 个作业,请将每个作业放在不同的队列中。

使用 artisan 命令,我可以在单独的控制台中运行每个队列

我在控制台中使用上述命令取得了成功。但是现在我需要在不使用控制台的情况下在编码中执行上述命令。

所以我尝试使用下面的代码来执行。

但是现在的问题是,仅在 q1 完成后才选择 q2,这意味着队列按顺序执行,而不是并行执行。

我使用sync了队列驱动程序的选项。这也首先执行 q1,然后仅在 q1 完成后才选择 q2。

我的技术配置是。

0 投票
1 回答
1398 浏览

laravel - Elastic Beanstalk and Laravel queues

I'm implementig Laravel queues via database driver, and when I start the process for listening the jobs, another process is also started. So basically I'm doing php artisan queue:listen and the process that is automatically started is php artisan queue:work.

enter image description here so basically the second process here is generated automatically, also the thing is that it doesnt point to the folder where it should be

0 投票
0 回答
333 浏览

php - 强制最后一个作业在 laravel 队列中同步运行

我已经实现了 laravel 队列和设置主管来监控作业执行。我已经为我的队列分配了 25 个工作人员,以便可以同时处理作业,我想强制队列中的最后一个作业同步处理,假设我调度了 263 个作业,所以作业 #263 必须在 262 个作业成功执行后执行。

我已经尝试过dispatchNow()在最后一个作业上使用方法的解决方案,然后它将同步执行,但它不起作用。

有人有解决方案吗?

0 投票
4 回答
10425 浏览

laravel - 我如何在 Laravel 中分派一份工作

我总是收到上述错误,现在我想在工作中同时使用 Dispatchable 和 DispatchJobs,我该怎么做?任何帮助或指导将不胜感激。在 Laracasts 上寻找了一些解决方案,但没有一个有效。

0 投票
4 回答
17280 浏览

php - Laravel 队列为一个作业持续处理多次

以下是我运行 php artisan queue:listen 时发生的事情,并且在我的工作表上只有一份工作

在此处输入图像描述

这是我的代码:

0 投票
1 回答
1539 浏览

php - Laravel SQS 队列 -> 延迟作业失败

我试图延迟 Laravel 中被分派到 AWS SQS 队列的作业。未延迟的标准作业在该队列上运行良好,但一旦我延迟某些东西,它就会崩溃。我第一次尝试:

这会产生错误: Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR) Call to a member function delay() on string

接下来,我尝试使用 Laravel 在手册中解释的样式:

这给出了错误:

Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR) 调用未定义的方法 Maqe\LaravelSqsFifo\SqsFifoQueue::getSeconds()

我用谷歌搜索了最后一个错误,我很高兴地报告我不是唯一遇到该错误的人:https ://github.com/maqe/laravel-sqs-fifo/issues/7

无论如何,我不明白。我在 Laravel 5.5 上运行,并使用 composer update 更新了我的所有包,以确保我没有使用过时的包。

有任何想法吗?

这是该作业的(编辑的)代码:

这是完整的错误日志:

Symfony\Component\Debug\Exception\FatalThrowableError 抛出消息“调用未定义的方法 Maqe\LaravelSqsFifo\SqsFifoQueue::getSeconds()”

堆栈跟踪:

0 Symfony\Component\Debug\Exception\FatalThrowableError 在 /var/www/sparkwebsite/vendor/maqe/laravel-sqs-fifo/src/SqsFifoQueue.php:42

这是完整的堆栈跟踪。我现在使用标准队列,一切运行良好!

0 投票
0 回答
1343 浏览

laravel - Laravel 5.5 - 通知通道不同的队列名称?

在事件监听器中,我向狗主人发送通知,如下所示:

问题是因为在下面的通知中有两个通道database/mail设置,它们被添加为“通知”队列中的排队作业,在构造函数中设置。相反,我想将下面的邮件通道添加到emails队列中,而不是“通知”构造函数中的默认设置。

知道如何让以下通知仅将邮件通道添加MailMessageemails队列而不database通道添加到队列吗?(即使这意味着删除构造函数onQueue

0 投票
1 回答
4000 浏览

php - Laravel - 作业报告失败(即使它正确退出)

我正在使用最新版本的 Homestead。我也设置了 Laravel Horizo​​n。我使用 Redis 作为队列驱动程序。Laravel 是 5.6 版,是全新安装的。

发生的事情是我的工作都失败了(即使工作正确退出)。

我正在使用自定义命令通过命令行运行作业:

应用程序/控制台/命令/crawl.php

应用程序/工作/Crawl.php

应用程序/Crawl.php

工人日志

来自 Horizo​​n 失败的工作细节

laravel-worker.conf

配置/队列.php

.env

概要

看着我的worker.log我可以看到我的班级的输出已经奏效:

但该作业被报告为失败。为什么?奇怪的是,同样在 中,它对一份工作worker.log说两次:Processing

任何帮助是极大的赞赏!

更新

删除exit()已解决问题 - 这很奇怪,因为 PHP 手册说您可以使用exit()“正常”退出程序:

https://secure.php.net/manual/en/function.exit.php
0 投票
2 回答
3205 浏览

php - 即使在 Laravel 中安装后,为什么“找不到类 'GuzzleHttp\Client'”?

我一直在阅读所有相关问题的答案,GuzzleHttp\Client但情况越来越糟。我正在尝试使用 Laravel 队列向我的所有应用程序用户发送电子邮件更新。我不知道出了什么问题,但乔布斯失败了。

我正在正确缓存异常并将它们报告到laravel.log文件中。这是我尝试执行队列工作者时得到的结果。

我已经GuzzleHttp\Client使用composer require guzzlehttp/guzzle. 它已成功安装,但仍然出现相同的错误。

即使我试图删除当前的应用程序文件并再次克隆我的整个存储库。仍然面临同样的问题。我什至尝试使用php artisan cache:clear,php artisan cache:configphp artisan clear-compiled(这使我的整个应用程序崩溃) ,清除缓存php artisan dump-autoload

我找不到问题所在,但这就是所有日志所说的。

0 投票
2 回答
1936 浏览

php - 向 Laravel 队列中的哨兵发送错误报告

我在我的 Laravel 项目中设置了 Sentry.io。我也在使用队列。

我想知道是否可以将失败的队列发送到 Sentry?因为他们在失败时不会自动发送。