Olá, vou ensinar como resolver este problema em 2025 com o Laravel 11 no shared hosting da Hostinger.
Antes de ir para o Cron Jobs é necessário:
1 - Criar o arquivo Kernel.php (app\Console\Kernel.php)
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
protected function schedule(Schedule $schedule): void {}
protected function commands(): void
{
$this->load(__DIR__ . '/Commands');
require base_path('routes/console.php');
}
}
2 - Adicionar o seguinte código no console.php (routes\console.php)
<?php
use Illuminate\Support\Facades\Artisan;
Artisan::command('queue:work-empty', function () {
$this->info('Starting the queue worker...');
Artisan::call('queue:work', ['--stop-when-empty' => true]);
$this->info('Queue worker stopped as queue is empty.');
})->purpose('Run the queue worker and stop when the queue is empty');
No hPanel -> Cron Jobs
Colar o seguinte trecho no input:
domains/[SEU_DOMINIO]/public_html/[SUA_APLICACAO_LARAVEL]/artisan queue:work-empty
Obs: As demais informações, deixei o menor tempo possível (* * * * *)
Ao clicar em "Ver Saída", você irá obter a seguinte mensagem:
Starting the queue worker... Queue worker stopped as queue is empty.
Espero que tenha ajudado, até a próxima!
Não consegui adicionar as imagens porque foi meu primeiro dia :(