在Laravel5.1中,我们可以在config/queue.php中设置队列连接配置。
QUEUE_DRIVER=database 'database' => [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'default',
'expire' => 60,
],但是,它将只使用config/database.php中的默认数据库连接。
如果我有两个数据库,一个本地主机中的默认数据库mysql1,一个远程服务器中的数据库mysql2,并且队列jobs表位于远程数据库mysql2中,那么如何配置队列数据库驱动程序来使用远程mysql2数据库呢?请注意,主应用程序正在本地主机中使用默认数据库。
发布于 2016-05-04 09:29:17
您可以使用queue.php中的queue.php参数来设置正确的数据库连接(来自您在database.php中定义的连接)。
'database' => [
'connection' => 'mysql2',
'driver' => 'database',
'table' => 'jobs',
'queue' => 'default',
'expire' => 60,
], 我正在寻找同样的东西,并在源代码中找到了它。
注意:这不仅将读取来自此连接的作业(在运行队列时),而且还会将它们写入此连接(当发送新作业时)。
发布于 2017-10-17 16:53:28
这里最好的答案对我没有用,更不用说它不是一个与我不同的问题最好的答案。我的问题是Laravel没有缓存我的配置设置。
进入文件\config\queue.php并更改默认驱动程序后.
'default' => env('QUEUE_DRIVER', 'database'),队列仍在同步驱动程序上运行。
然后我检查了文件..。
\bootstrap\cache\config.php在30号线附近我看到了这个..。
'queue' =>
array (
'default' => 'sync', ...but要连接到数据库,应该是.
'queue' =>
array (
'default' => 'database',这解决了问题..。
php artisan config:cache运行config:cache逗号,将config.php文件重写到当前驱动程序设置。
发布于 2016-02-21 20:59:32
您可以在模型中设置$connection变量。请注意,这只会影响Eloquent查询,而不适用于Fluid。
class Jobs extends Eloquent {
protected $connection = "database2"
}当然,这需要在您的config/database.php文件中有第二个config/database.php连接,即'database2' => [...]。
https://stackoverflow.com/questions/35535920
复制相似问题