我只是在尝试运行一个事件和侦听器循环并将模型传递给它
event(new LabelsCreated($model, 'string'));
这非常适合QUEUE_CONNECTION=database
但是QUEUE_CONNECTION=redis
,它给我抛出了一个错误:
#message:"数组到字符串的转换">
#code: 0
#file: "/home/vagrant/Code/Upworks/myproj/vendor/laravel/framework/src/Illuminate/Queue/RedisQueue.php">
#line: 302
#severity:E_NOTICE
我的事件类如下所示:
class LabelsCreated
{
use Dispatchable, SerializesModels;
public $model;
public $string;
public function __construct($model, $string)
{
$this->model = $model;
$this->string = $string;
// comes here
}
}
但它根本不会排队我的监听器。
我的配置/队列.php,redis数组如下所示:
'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => ['default', 'export'],
'retry_after' => 90,
'block_for' => null,
],
它可能是指关键的"队列"值吗?
这是我的配置/队列中的问题.php
'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => ['default', 'export'], // THIS LINE
'retry_after' => 90,
'block_for' => null,
],
我尝试将其保留为默认值
'queue' => 'default'
它在同一连接上运行多个队列。
更深入的见解:https://laracasts.com/discuss/channels/laravel/multiple-queues-for-redis-connection?page=0#reply=461404