Laravel 5: Usando Cache :: ou DB :: dentro da function Schedule () do Kernel do console

Estou tentando executar um comando de console Artisan no Laravel 5 em intervalos de tempo diferentes, configurados pelo usuário. Eu construí o comando do console e tenho um database (com o modelo Eloquent) segurando um valor de configuração de “freqüência de execução”.

Dentro da function schedule() do App\Console\Kernel.php eu gostaria de extrair esse valor do database e executar o comando quando necessário com base nesse valor.

Recebo um Fatal error: Class 'DB' not found ao usar DB::table()... com ou sem use DB; , e o mesmo acontece se eu tentar usar as funções Cache::... também.

Estou assumindo que o contêiner IoC não é acessível a partir da function schedule() do arquivo App\Console\Kernel.php . Alguém já tinha semelhante e encontrou uma solução elegante?

Meu código simplificado é:

 <?php namespace App\Console; use Cache; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { /** * Define the application's command schedule. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void */ protected function schedule(Schedule $schedule) { $settings = Cache::get('settings'); } 

e o erro:

 php artisan schedule:run PHP Fatal error: Class 'Cache' not found in /home/vagrant/projects/project/dir/api/app/Console/Kernel.php on line 26 

Qualquer ajuda será muito apreciada

Isso foi corrigido pela Taylor em 5.0.21 ( Git Commit ) para que qualquer pessoa que experimente o mesmo problema possa executar a composer update para obter a versão mais recente do framework que permitirá que você use

Use DB;

Use Cache;

etc, como de costume