2016-09-14 57 views
0
工作

隊列驅動程序設置爲使用Redis的Redis的隊列失敗被記錄到MySQL

QUEUE_DRIVER=redis 

隨着

php /opt/artisan queue:work --tries=1 --queue="data-ingestion-default" --daemon 

的錯誤,我們收到的是

[2016-09-14 08:32:40] lumen.ERROR: InvalidArgumentException: Database 
[mysql] not 
configured. in /opt/vendor/illuminate/database/DatabaseManager.php:239 
Stack trace: 
#0 /opt/vendor/illuminate/database/DatabaseManager.php(158):  
Illuminate\Database\DatabaseManager->getConfig('mysql') 
#1 /opt/vendor/illuminate/database/DatabaseManager.php(68): 
Illuminate\Database\DatabaseManager->makeConnection('mysql') 
#2 /opt/vendor/illuminate/queue/Failed/DatabaseFailedJobProvider.php(110): 
Illuminate\Database\DatabaseManager->connection('mysql') 
#3 /opt/vendor/illuminate/queue/Failed/DatabaseFailedJobProvider.php(58):  
Illuminate\Queue\Failed\DatabaseFailedJobProvider->getTable() 
#4 /opt/vendor/illuminate/queue/Worker.php(313): 
Illuminate\Queue\Failed\DatabaseFailedJobProvider->log('redis', 'data-ingestion-...',  
'{"job":"Illumin...') 
#5 /opt/vendor/illuminate/queue/Worker.php(204): Illuminate\Queue\Worker- 
>logFailedJob('redis', Object(Illuminate\Queue\Jobs\RedisJob)) 
#6 /opt/vendor/illuminate/queue/Worker.php(156): Illuminate\Queue\Worker->process('redis', 
Object(Illuminate\Queue\Jobs\RedisJob), '1', 0) 
#7 /opt/vendor/illuminate/queue/Worker.php(111): Illuminate\Queue\Worker->pop(NULL, 'data- 
ingestion-...', 0, 3, '1') 
#8 /opt/vendor/illuminate/queue/Worker.php(85): Illuminate\Queue\Worker- 
>runNextJobForDaemon(NULL, 'data-ingestion-...', 0, 3, '1') 
#9 /opt/vendor/illuminate/queue/Console/WorkCommand.php(119): Illuminate\Queue\Worker- 
>daemon(NULL, 'data-ingestion-...', 0, 128, 3, '1') 
#10 /opt/vendor/illuminate/queue/Console/WorkCommand.php(78): 
Illuminate\Queue\Console\WorkCommand->runWorker(NULL, 'data-ingestion-...', 0, 128, true) 

看來,該錯誤是由於Worker試圖將失敗的作業記錄到mysql數據庫。

但是,我們在這個實例中沒有使用MySQL,如果我們在config/database.php中沒有連接「mysql」,並且默認數據庫被稱爲「開發」。

回答

6

在配置/ queue.php看看失敗配置 默認爲:

'failed' => [ 
     'database' => env('DB_CONNECTION', 'mysql'), 
     'table' => 'failed_jobs', 
    ], 

改變其使用Redis的

,你可以看到整個配置文件中github reop laravel/config/queue.php

+0

請你能提供整個文件的內容,因爲config/queue.php不存在於流明中。有了上述的任何工作都沒有運行。謝謝 – 64k

+0

已解決,添加了完整的queue.php後,可以在這裏找到一個例子https://github.com/GetStream/stream-laravel-5-example/blob/master/config/queue.php – 64k