75 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace App\Jobs;
 | 
						|
 | 
						|
use App\Models\ScheduledDatabaseBackup;
 | 
						|
use App\Models\Server;
 | 
						|
use App\Models\Team;
 | 
						|
use App\Notifications\Database\DailyBackup;
 | 
						|
use App\Notifications\Server\HighDiskUsage;
 | 
						|
use Illuminate\Bus\Queueable;
 | 
						|
use Illuminate\Contracts\Queue\ShouldBeEncrypted;
 | 
						|
use Illuminate\Contracts\Queue\ShouldQueue;
 | 
						|
use Illuminate\Foundation\Bus\Dispatchable;
 | 
						|
use Illuminate\Queue\InteractsWithQueue;
 | 
						|
use Illuminate\Queue\Middleware\WithoutOverlapping;
 | 
						|
use Illuminate\Queue\SerializesModels;
 | 
						|
 | 
						|
class DatabaseBackupStatusJob implements ShouldQueue, ShouldBeEncrypted
 | 
						|
{
 | 
						|
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
 | 
						|
 | 
						|
    public $tries = 1;
 | 
						|
 | 
						|
    public function __construct()
 | 
						|
    {
 | 
						|
    }
 | 
						|
 | 
						|
    public function handle()
 | 
						|
    {
 | 
						|
        // $teams = Team::all();
 | 
						|
        // foreach ($teams as $team) {
 | 
						|
        //     $scheduled_backups = $team->scheduledDatabaseBackups()->get();
 | 
						|
        //     if ($scheduled_backups->isEmpty()) {
 | 
						|
        //         continue;
 | 
						|
        //     }
 | 
						|
        //     foreach ($scheduled_backups as $scheduled_backup) {
 | 
						|
        //         $last_days_backups = $scheduled_backup->get_last_days_backup_status();
 | 
						|
        //         if ($last_days_backups->isEmpty()) {
 | 
						|
        //             continue;
 | 
						|
        //         }
 | 
						|
        //         $failed = $last_days_backups->where('status', 'failed');
 | 
						|
        //     }
 | 
						|
        // }
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
        // $scheduled_backups = ScheduledDatabaseBackup::all();
 | 
						|
        // $databases = collect();
 | 
						|
        // $teams = collect();
 | 
						|
        // foreach ($scheduled_backups as $scheduled_backup) {
 | 
						|
        //     $last_days_backups = $scheduled_backup->get_last_days_backup_status();
 | 
						|
        //     if ($last_days_backups->isEmpty()) {
 | 
						|
        //         continue;
 | 
						|
        //     }
 | 
						|
        //     $failed = $last_days_backups->where('status', 'failed');
 | 
						|
        //     $database = $scheduled_backup->database;
 | 
						|
        //     $team = $database->team();
 | 
						|
        //     $teams->put($team->id, $team);
 | 
						|
        //     $databases->put("{$team->id}:{$database->name}", [
 | 
						|
        //         'failed_count' => $failed->count(),
 | 
						|
        //     ]);
 | 
						|
        // }
 | 
						|
        // foreach ($databases as $name => $database) {
 | 
						|
        //     [$team_id, $name] = explode(':', $name);
 | 
						|
        //     $team = $teams->get($team_id);
 | 
						|
        //     $team?->notify(new DailyBackup($databases));
 | 
						|
        // }
 | 
						|
    }
 | 
						|
}
 |