当前位置: 首页 > 知识库问答 >
问题:

Laravel队列:工作永远运行

穆招
2023-03-14

我有一个奇怪的问题Laravel队列:工作。在我的crontab中,我设置了一个工作,就像Laravel文档中描述的那样

* * * * * nginx php /path/to/site/artisan schedule:run >> /dev/null 2>&1

在我的应用程序/控制台/Kernel.php我设置这个:

$schedule->command('queue:work')->cron('* * * * *');

在我的正式服php工匠队列中:工作运行几秒钟,然后被“杀死”。这就是我所期望的。

在我的开发盒php artisan队列中:工作永远运行。因此,激活cron作业会产生php进程,直到整个内存被填满。

两个盒子都是CentOS 7.4,生产运行PHP 7.1,开发运行PHP 7.2

正如下面的评论所说,我认为cron命令不是问题所在。

运行表单ssh:

php artisan queue:work

on dev在生产环境中永远运行几秒钟。

共有1个答案

洪高阳
2023-03-14

您可以尝试运行一次,这将运行一个作业,然后退出该进程。

php artisan队列:工作--once=1

或者在使用Artisan facade的PHP代码中:

Artisan::call('queue:work', [
                    '--once' => 1, // Do NOT run it as a daemon (not a continuous function)
                    '--tries' => 1,
                    '--queue' => 'yourqueue',
                    '--timeout' => 0
                ]);
 类似资料:
  • 我首先承认轻微的睡眠剥夺。 设置如下所示: APIendpoint(服务器A)接收一个进线量,并将其添加到RabbitMQ服务器(服务器B)上的特定队列中。 RabbitMQ(服务器B)是简单的RabbitMQ队列服务器。不多也不少。 Laravel安装(服务器C)是我们实际的Laravel安装,其目的是在特定队列上查找作业并处理它们。 我们在Laravel安装中有一个RabbitMQ包,它允许通

  • 我试图在容器启动并运行后运行以下命令。 " 然而,这完全破坏了我的容器启动。 我应该如何以Docker的方式来做这件事? 编辑: 使用docker-comact我添加了这一行到我的docker-compose.yml文件 容器启动了,但没有提供任何请求:S 使用此选项: 启动后容器停止运行 最终解决方案 所以最后我想,也许负责交付应用程序的服务器不应该是运行队列的服务器。 因此,我启动了同一doc

  • 我们有laravel 5.6和很多队列。 在生产中,我有一个主管负责处理这些队列。 在localhost上,我使用“sync”选项同步/直接处理所有队列。 我想知道是否有可能在localhost上有不同的行为: 我想分派作业,然后直接通过php exec运行以下命令: 这应该在后台运行队列工作程序一次。 但是什么都没发生。工匠在这种情况下工作吗?

  • 我正在使用带有beanstalkd的Laravel4.1在后台运行一些密集的Photoshop PSD文件处理。我还安装了phpBeanstalkdAdmin来监视队列中发生的事情。 正在处理的作业大约需要7-10分钟,但我注意到我的一些作业会重新启动,即使它们仍在忙于运行。 留意phpBeanstalkadmin,我可以看到工作被埋葬时排队:听拿起工作,但过了一会儿,它被踢了回来,准备好了。 要

  • rabbitMQ 工作队列 轮询分发 >[danger] 简单队列是一对一的关系,一个生成者对应一个消费者,实际开发中,一般消费者是以业务相结合的,需要时间去处理业务,如果只有一个消费者,那么生产者就会积压很多消息,消费不出去 代码演示: 'use strict'; const Controller = require('egg').Controller; /** * 队列一对多演示 * 生产

  • 工作队列接口 结构体 struct   rt_workqueue   工作队列控制块 更多...   struct   rt_work   工作回调函数信息 更多...   函数 struct rt_workqueue *  rt_workqueue_create (const char *name, rt_uint16_t stack_size, rt_uint8_t priority)   创