gpt4 book ai didi

laravel - Php工匠队列:work doesn't work with supervisor

转载 作者:行者123 更新时间:2023-12-05 06:37:33 33 4
gpt4 key购买 nike

我已经安装并配置了 supervisor。

ps -ax 显示 10 个进程,例如:php/home/vagrant/Sites/mysite/artisan queue:work --tries=1

然而,当我将一些东西放入队列时,它会停留在那里,什么也没有发生。但是,如果我手动运行此命令(即使在 vagrant 用户下,它完全是主管的方式)一切正常。

我使用 Redis 来保持队列。

可能是什么原因?

更新

所以,这里有一些额外的信息,因为我真的想不通。

Laravel 5.5 版本

实际上我有 2 个项目的两个主管配置。第一个似乎在工作。第二没有。我的意思是,我可以通过 ps -ax 查看进程,但没有任何反应。两个配置是相同的:


[程序:mysite-worker]
process_name=%(program_name)s_%(process_num)02d
命令=php/home/vagrant/Sites/mysite/artisan queue:work --tries=1
自动启动=真
自动重启=真
用户=流浪汉
numprocs=10
重定向标准错误=真
stdout_logfile=/home/vagrant/Sites/mysite/worker.log

我也不知道如何启用和禁用一些配置(比如 supervisord 的 en2site :))

因此,当我将某些东西放入队列时,我可以在 Redis 中看到它。然后我在 vagrant 用户下手动运行 php/home/vagrant/Sites/mysite/artisan queue:work --tries=1 并调度和运行队列作业。但只有当我手动运行命令时 =\

最佳答案

我也遇到了同样的问题。

问题很明显,因为主管在打电话时php/home/vagrant/Sites/mysite/artisan queue:work --tries=1

实际上不在项目工作目录中,工匠找不到 .env 文件。

所以你有一些选择来处理这个:

  1. 从 .env 文件设置你的环境变量或
  2. 将目录参数添加到您的主管配置中目录=“路径/到/你的/项目”或
  3. 将 php.ini 中的 set_include_path 设置为您的项目文件夹

关于laravel - Php工匠队列:work doesn't work with supervisor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47597381/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com