删除一项Laravel Sheduling任务



我使用Laravel的命令和任务计划来检查共享在线3D打印机的状态。我使用以下代码启动计划任务以每10分钟检查设备状态。但是,我想在打印机偏离线时删除调度任务。

$schedule->command(DeviceCheckCommand::class, ['--force'])->everyTenMinutes();

我已经完全阅读了Laravel Doc任务计划,但是我找不到有关如何删除调度任务的任何信息。

最好将打印机的状态保存在文件或数据库中,并在执行另一个命令之前检查状态:

inceendecheckcommand.php:

public function handle()
{
    // Your code
    if ($printerStatus == 'Offline') {
        Storage::put('PrinterIsOffline.info', 'Yes');
    } else {
       Storage::delete('PrinterIsOffline.info');
    }
}

内部kernel.php:

protected function schedule(Schedule $schedule)
{
    if (!Storage::exists('PrinterIsOffline.info')) {
        $schedule->command(DeviceCheckCommand::class, ['--force'])->everyTenMinutes();
    }
}

最新更新