Задать вопрос
kentuck1213
@kentuck1213

Почему `Task Scheduling` срабатывает всего один раз?

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 $commands = [
        \App\Console\Commands\Inspire::class,
        \App\Console\Commands\RemoveUser::class,
    ];
    protected function schedule(Schedule $schedule)
    {
        $schedule->command('inspire')
            ->hourly();
        $schedule->command('remove:user')
            ->everyMinute();
    }
}

app\Console\Commands\RemoveUser.php :
<?php
namespace App\Console\Commands;
use App\Models\User;
use Illuminate\Console\Command;
class RemoveUser extends Command
{
    protected $signature = 'remove:user';
    protected $description = 'Command description';
    public function __construct()
    {
        parent::__construct();
    }
    public function handle()
    {
        User::where('ban', 1)->delete();
    }
}

Далее запускаю командку в консоли php artisan schedule:run >> /dev/null 2>&1
И после этого удалается пользователь у которого в поле ban значение 1. Потом регую нового пользователя и через админку даю ему бан. Жду две минуты но данные в базе не удалились почемто хоть должно `everyMinute`.
  • Вопрос задан
  • 160 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
seoperin
@seoperin
Full stack web developer. Laravel / Vue
Дока. Добавь в крон
* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы