laravel队列无一例外地随机停止

azpvetkf  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(383)

我有一个带有

database

连接。注意,redis上也存在这个问题。但我现在使用的是数据库连接

failed_jobs

表来帮助我检查队列过程中发生的任何错误。
我遇到的问题是,队列在几个作业之后停止工作,而没有任何消息显示原因。但是当我重新启动命令(php)时queue:work)它负责剩下的工作。然后继续(但后来又停了下来)
作业配置了这些值

public $tries = 1;
public $timeout = 10;

职务代码为(不是原始代码)

public function handle()
    {
        try {
            $file = //function to create file;
            $zip = new ZipArchive();
            $zip->open(//zip_path);
            $zip->addFile(//file_path, //file_name);
            $zip->close();
            @unlink(//remove file);
        } catch (\Exception $e) {
            Log::error($e);
        }
    }

失败的函数设置如下:

public function failed(\Exception $exception)
{
    Log::error($exception);
    $this->fail($exception);
    $this->delete();
}

但是我的没有失败的作业行,并且我的日志是空的
编辑:我在每行代码后添加了简单的信息日志。每次我启动队列,它都会在最后一行之后停止。所以代码运行正确。所以拉威尔不会在那之后开始新的工作

mnowg1ta

mnowg1ta1#

你试过了吗 queue:listen ?

php artisan queue:listen

我想你也需要主管来保护你的工人。

相关问题