php - 队列不启动laravel 8
问题描述
php artisan queue:work - 不工作。ErrorException:尝试访问 null 类型值的数组偏移量
供应商/laravel/framework/src/Illuminate/Queue/QueueManager.php:156
protected function resolve($name)
{
$config = $this->getConfig($name);
return $this->getConnector($config['driver'])
->connect($config)
->setConnectionName($name);
}
配置/队列.php
<?php
return [
'default' => env('QUEUE_CONNECTION', 'sync'),
'connections' => [
'sync' => [
'driver' => 'sync',
],
'database' => [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'default',
'retry_after' => 90,
],
'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => env('REDIS_QUEUE', 'default'),
'retry_after' => 90,
'block_for' => null,
],
]
];
解决方案
如上所述,此错误可能是由错误配置引起的,因此请尝试:
- 检查您的
.env
文件是否正确QUEUE_CONNECTION
。 - 将连接名称添加到您的工作命令中,例如
php artisan queue:work database --queue=queue_name
在database
连接上运行
然而,就我而言,我在生产服务器上使用主管时遇到了这个错误。主管进程因该错误而失败,但对于新创建的配置。我有一个已经完美运行的配置,所以我最终复制了工作配置并对其进行了编辑,它工作正常。我怀疑是在复制格式不正确的文本,因为我在本地文本文件上预先创建了配置。
推荐阅读
- oop - 在 Dart 中返回泛型类型对象是否有任何顾虑?
- react-native - 尝试在 SetParams React-Native 中传递函数时应用程序冻结
- html - 位置:Mac 和 Windows 设备在 Google Chrome 上的粘性不一致
- database - 如何根据所选语言从数据库中获取动态数据。?
- python - 将特定频道中的 YouTube 视频网址抓取到 Json
- python - Django 中的内容类型框架
- file - Cordova File Plugin - 文件保存在哪里
- kubernetes - Complex Ingress Nginx Config(由 Kubernetes 维护的 Nginx Ingress)
- regex - 根据 Postgres 中的多个分隔符将一列拆分为多行
- python - 根据另一列中的值创建新列