Completed
Push — master ( f62f21...f72c97 )
by Freek
05:09
created

MonitorCommand::handle()   A

Complexity

Conditions 2
Paths 1

Size

Total Lines 15
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 6
Bugs 1 Features 1
Metric Value
c 6
b 1
f 1
dl 0
loc 15
rs 9.4285
cc 2
eloc 7
nc 1
nop 0
1
<?php
2
3
namespace Spatie\Backup\Commands;
4
5
use Spatie\Backup\Events\HealthyBackupWasFound;
6
use Spatie\Backup\Events\UnhealthyBackupWasFound;
7
use Spatie\Backup\Tasks\Monitor\BackupDestinationStatus;
8
use Spatie\Backup\Tasks\Monitor\BackupDestinationStatusFactory;
9
10
class MonitorCommand extends BaseCommand
11
{
12
    /**
13
     * @var string
14
     */
15
    protected $signature = 'backup:monitor';
16
17
    /**
18
     * @var string
19
     */
20
    protected $description = 'Monitor the health of all backups.';
21
22
    public function handle()
23
    {
24
        $statuses = BackupDestinationStatusFactory::createForMonitorConfig(config('laravel-backup.monitorBackups'));
25
26
        $statuses->each(function (BackupDestinationStatus $backupDestinationStatus) {
27
28
           if ($backupDestinationStatus->isHealthy()) {
29
               event(new HealthyBackupWasFound($backupDestinationStatus));
30
31
               return;
32
           }
33
34
            event(new UnHealthyBackupWasFound($backupDestinationStatus));
35
        });
36
    }
37
}
38