问题标签 [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 回答
623 浏览

php - cli 已停止在 windows 7 中为 php 7.1.9 xampp 工作

我通过重新安装XAMPP将 PHP 版本从5.5升级到7.1.9。在我的项目中,我正在使用Redis服务器处理laravel 队列。

但是,当我尝试通过php artisan queue:work --queue=high作业运行队列工作命令时,它会向我显示一个窗口弹出窗口,但没有任何反应,终端卡住,直到我关闭该弹出窗口

在此处输入图像描述

我不明白是什么问题。
我对此进行了一些研究,但这些解决方案并未解决我的问题。
例如:-
PHP 内置服务器给出“CLI 已停止工作”
PHP -> CLI 已停止工作

任何机构有任何解决方案请与我分享。

Apache中的错误日志:-

0 投票
1 回答
11718 浏览

laravel - Laravel queue worker with cron

I am trying to get my website to send confirmations emails every time someone new register.

i did it like following after reading about it, but i am still not convinced that this is the best way to do it.

in my cron runs every minute and calls php artisan schedule:run

in my console/Kernel

i added the --once parameter because the queue worker is not existing when finished, and i do not want to have many new processes running every minute.

is there a way to make the queue worker finish all the jobs and exit and then start it after one minute again so that i do not have many instances , or is it just one instance ??

i read that i can return null to exit the worker, but if this can be done, then how can i return null only after the last job is done?

0 投票
1 回答
891 浏览

php - 作业类中的测试功能

我喜欢测试(通过 phpunit 进行功能测试)作业类(流明队列)中的一些方法,以确保它正常工作。

问题是作业类有一些作业方法,例如$this->job->getJobId()$this->release(5);

如果我从控制台运行 phpunit,我会收到错误消息:

错误:在 null 上调用成员函数 getJobId()

测试代码如下所示:

我该如何解决这个问题?

0 投票
0 回答
849 浏览

php - Laravel 超时排队作业未触发作业类中的失败方法

我已经建立了一个具有最低配置、mysql 数据库、数据库队列等的基本 laravel 项目。

我用这个内容创建了一个 Job 类

我只是为了简单起见,从路由中触发事件。

我有 php artisan queue:work 在终端中运行,当我在浏览器中访问基本 url 路由时,作业排队。

我将此作为 queue:work 命令的输出。

当我检查日志文件时,

它只有这个内容。

因为它在 10 秒后超时 \Log::info("Jobended"); 永远不会被执行,看起来不错。

但是,我想知道为什么失败的事件没有被调用。

我已确保满足超时要求

谁能帮助理解我在这方面做错了什么?

0 投票
0 回答
336 浏览

php - Laravel 无法处理队列中的作业

首先,这是我的 Docker 容器中的进程列表:

这是我的容器的入口点:

问题是php /var/www/html/artisan queue:work不处理队列中的作业。

为此,我必须通过运行 docker exec -it /bin/sh 登录到容器,然后运行​​php /var/www/html/artisan queue:work --queue=mailer --sleep=3 --tries =3,它工作得很好。

所以问题是出了什么问题。

0 投票
0 回答
481 浏览

laravel - Laravel [5.4] 队列工作者内存泄漏

  • Laravel 版本:5.4
  • PHP版本:7.0.22
  • 数据库驱动和版本:MySQL & 5.7.19

描述:

我在包含 Ubuntu、Apache、PHP、MySQL 的服务器上运行我的队列工作程序,但即使我还没有运行作业!它只是空闲,队列仍然在每两秒左右消耗 1 MB 的内存,然后很快就会耗尽内存。

我只是在运行我的queue:work命令,没有其他任何东西。此外,从我读过的其他文章中,该问题将通过 queue:restart 在特定时间范围内得到解决,但这也不起作用。

请帮我解决我的服务器缓冲区/缓存填充得非常快,甚至没有释放任何内存。

0 投票
2 回答
22208 浏览

php - 如何测试 Laravel 5 作业?

当工作完成时,我尝试捕捉一个事件

测试代码:

UserController中的方法:

我的工作:

作业完成后我需要检查一些数据,但我从 $event->job->payload()in获取序列化数据Queue::after而且我不明白如何检查作业?

0 投票
1 回答
457 浏览

laravel - Laravel 回显服务器使用 Redis 和队列抛出异常

我用 laravel 5.4 实现了实时聊天,用 redis 和队列实现了 laravel-echo。我对队列有一些问题,以下是一些代码片段

主管设置如下

.env 设置如下

laravel.logs文件中的错误日志

重置是一切都很好消息已发布,保存在数据库中并完美地列在套接字上。跟随主管状态“supervisorctl”显示

qwikkar-stagin-echo-server-worker:qwikkar-stagin-echo-server-worker_00 RUNNING pid 9187, uptime 2 days, 19:07:12

qwikkar-staging-queue-worker:qwikkar-staging-queue-worker_00 RUNNING pid 9190, uptime 2 days, 19:07:12

0 投票
0 回答
681 浏览

php - Laravel Mail::queue 仅每分钟有效

我有一个计划的工作,我希望每小时运行一次,这个工作所做的就是选择尚未取消订阅且尚未发送邮件的用户,然后将要发送的电子邮件排队。这一切都在 Amazon ElasticBeanstalk 中的工作环境中完成,并且在该部分中一切正常。

该作业每小时运行一次,并且电子邮件排队。但是,一旦他们排队,他们就会一直在飞行中,实际上并没有发送任何电子邮件。

如果我将计划的作业更改为每分钟运行一次,那么一切正常并且电子邮件被发送,尽管由于某种原因它们被发送两次,但它们正在被发送。

我不确定在这里查看什么,因为工作实例上的 laravel.log 文件中没有任何内容。我为预定命令的输出设置的日志文件中也没有写入任何内容。

这是我执行命令的代码。

这是正在执行的命令的代码

添加到队列中的每个作业都会在 failed_jobs 数据库表中结束,说明已达到最大尝试次数。关于为什么会发生这种情况的任何想法?

0 投票
0 回答
78 浏览

php - 我正在尝试将我在 laravel 中的普通电子邮件程序转换为使用队列发送电子邮件

我正在尝试将我在 laravel 中的普通电子邮件程序转换为使用队列发送电子邮件

这是控制器中的代码(简单邮件代码)>>

它工作正常我试图将其转换为队列>>

工作代码>>

WEB.PHP 两者都是一样的

Route::get('sendbasicemail','MailController@basic_email');

并在 queue.php/mail.php/.env 中设置所有内容,例如队列驱动程序:数据库和所有邮件凭据,我收到一个错误,即在 MailController.php 中找不到 MailJob 类我试过了

仍然有同样的错误我是 Laravel 的初学者,请告诉我我的代码中的所有错误