linux - 当终端关闭时,Laravel 5.6 在后台的队列处理停止

标签 linux laravel queue jobs nohup

即使在关闭服务器终端后,我也使用以下命令将我的队列进程设置为永远执行。但是一旦我关闭终端,它就会停止。请在这件事上给予我帮助。如何让它一直在后台运行。 您可以看到我使用了所有 nohup 命令,但没有成功。

1) nohup php artisan queue:work --tries=1 </dev/null >/dev/null 2>&1 &
2) nohup php artisan queue:work --tries=1 >/dev/null 2>&1 &
3) nohup php artisan queue:work --daemon > /dev/null 2>&1 &
4) nohup php artisan queue:work > /dev/null 2>&1 &
5) nohup php artisan queue:work --tries=1
6) nohup php artisan queue:listen >/dev/null 2>&1 &

注意:我没有服务器的 root 访问权限。我正在使用从 WHM 创建的用户。 IDK 如果那是问题。

最佳答案

转到 CPanel -> Cron Jobs 页面

然后通过添加如下命令创建一个 cron 作业:

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

不要忘记将/path-to-your-project 更改为您的项目文件夹

它将运行 laravel 计划的命令。

并将其放入 app/Console/Kernel.php 文件中的 schedule 方法。

$schedule->command('queue:work --stop-when-empty')->everyMinute()->withoutOverlapping();

关于linux - 当终端关闭时,Laravel 5.6 在后台的队列处理停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56890124/

相关文章:

java - 抛出 NullPointerException 并且程序未按预期终止

javascript - 如何从js调用php方法?

linux - Linux 中# 符号后运行命令

linux - 如果一个文件在边沿触发调用epoll_ctl之前是可读的,那么后续的epoll_wait是否会立即返回?

php - 配置 PhpStorm RESTful 客户端以使用 Laravel

php - 过滤多对多关系 - Laravel

linux - [/lib/x86_64-linux-gnu/libc.so.6 - 找不到 glibc]

linux - 使用 epoll 的客户端连接

PHP 5.3.2 在匿名函数中使用 $this 的替代方案?

java - 当另一端无法接收时处理队列中的项目