在Laravel 5.1中,我们可以在config/queue.php中设置队列连接配置.

QUEUE_DRIVER=database

    'database' => [
        'driver' => 'database',
        'table' => 'jobs',
        'queue' => 'default',
        'expire' => 60,
    ],

但是,它将只使用config/database.php中的默认数据库连接.

如果我有两个数据库,本地主机中有一个默认数据库mysql1,远程服务器中有一个数据库mysql2,而队列jobs表位于远程数据库mysql2中,我如何配置队列数据库驱动程序以使用远程mysql2数据库?请注意,主应用程序正在使用localhost中的默认数据库.

推荐答案

您可以使用queue.php中的'connection'参数来设置正确的数据库连接(来自您在database.php中定义的数据库连接).

'database' => [
    'connection' => 'mysql2',
    'driver' => 'database',
    'table' => 'jobs',
    'queue' => 'default',
    'expire' => 60,
], 

我在寻找同样的东西,并在源代码中找到了它.

注意:这不仅会从该连接读取作业(job)(当运行队列时),还会将它们写入该连接(当分派新作业(job)时).

Laravel相关问答推荐

AJAX响应中未定义的全名

Dompdf 古吉拉特语和印地语文本未正确显示

Laravel - 出于某种原因,max 打破了我的查询

使用命令行界面停止 laravel 服务器

在 laravel 4.2 中,用户 'root'@'localhost' 的 Laravel 访问被拒绝(使用密码:YES)

为什么命令php artisan serve不起作用

Blade引擎:打印三重花括号

localhost 和stream_socket_enable_crypto():SSL 操作失败,代码为 1

使用'with'时,Laravel belongsTo 返回 null

php Laravel-遇到格式不正确的数值(在字符串上)

Laravel 随机排序

如何利用 StorageFacade 的 Filesystem 类的 glob 方法?

Laravel 5.1-5.8 中以前的路由名称

使用 Laravel 创建新项目会引发异常

Laravel Socialite 在本地主机上进行测试,SSL 证书问题?

使用 Laravel 使用 2 个磁盘复制文件

在 Laravel 中判断会话超时

在 Laravel 中软删除父记录时如何软删除相关记录?

Laravel 更新查询

如何从 PHPUnit 测试设置运行 Laravel 数据库 seeder 机?