mirror of
https://github.com/PhyreApps/PhyrePanel.git
synced 2024-11-21 15:10:25 +00:00
update
This commit is contained in:
parent
4320aa029c
commit
b77f0ad0ff
4 changed files with 10 additions and 90 deletions
|
@ -2,7 +2,7 @@
|
|||
|
||||
namespace App\Console\Commands;
|
||||
|
||||
use App\Jobs\CreateHostingSubscriptionBackup;
|
||||
use App\Jobs\ProcessHostingSubscriptionBackup;
|
||||
use App\Models\Backup;
|
||||
use App\Models\HostingSubscription;
|
||||
use App\Models\HostingSubscriptionBackup;
|
||||
|
@ -46,7 +46,7 @@ class CreateDailyFullHostingSubscriptionsBackup extends Command
|
|||
->where('created_at', '>=', Carbon::now()->subHours(24))
|
||||
->first();
|
||||
if (! $findBackup) {
|
||||
CreateHostingSubscriptionBackup::dispatch($hostingSubscription->id);
|
||||
ProcessHostingSubscriptionBackup::dispatch($hostingSubscription->id);
|
||||
} else {
|
||||
$this->error('Backup already exists for ' . $hostingSubscription->domain);
|
||||
$this->error('Created before: ' . $findBackup->created_at->diffForHumans());
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App\Console\Commands;
|
||||
|
||||
use App\Models\Backup;
|
||||
use App\Models\HostingSubscription;
|
||||
use App\Models\HostingSubscriptionBackup;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Console\Command;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class RunHostingSubscriptionsBackupChecks extends Command
|
||||
{
|
||||
/**
|
||||
* The name and signature of the console command.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $signature = 'phyre:run-hosting-subscriptions-backup-checks';
|
||||
|
||||
/**
|
||||
* The console command description.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $description = 'Command description';
|
||||
|
||||
/**
|
||||
* Execute the console command.
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
// Delete backups older than 7 days
|
||||
$findBackupsForDeleting = HostingSubscriptionBackup::where('created_at', '<', now()->subDays(7))->get();
|
||||
foreach ($findBackupsForDeleting as $backup) {
|
||||
$backup->delete();
|
||||
}
|
||||
|
||||
// Check for pending backups
|
||||
$getPendingBackups = HostingSubscriptionBackup::where('status', 'pending')
|
||||
->get();
|
||||
|
||||
if ($getPendingBackups->count() > 0) {
|
||||
if ($getPendingBackups->count() > 1) {
|
||||
$this->info('Multiple backups are pending...');
|
||||
} else {
|
||||
foreach ($getPendingBackups as $pendingBackup) {
|
||||
$pendingBackup->startBackup();
|
||||
$this->info('Backup started.. ');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Check for processing backups
|
||||
$getRunningBackups = HostingSubscriptionBackup::where('status', 'processing')->get();
|
||||
if ($getRunningBackups->count() > 0) {
|
||||
foreach ($getRunningBackups as $runningBackup) {
|
||||
$runningBackup->checkBackup();
|
||||
$this->info('Checking backup status...');
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -11,18 +11,18 @@ use Illuminate\Foundation\Bus\Dispatchable;
|
|||
use Illuminate\Queue\InteractsWithQueue;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
|
||||
class CreateHostingSubscriptionBackup implements ShouldQueue
|
||||
class ProcessHostingSubscriptionBackup implements ShouldQueue
|
||||
{
|
||||
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
|
||||
|
||||
protected $hostingSubscriptionId;
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* Create a new job instance.
|
||||
*/
|
||||
public function __construct($hostingSubscriptionId)
|
||||
public function __construct($id)
|
||||
{
|
||||
$this->hostingSubscriptionId = $hostingSubscriptionId;
|
||||
$this->id = $id;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -30,15 +30,10 @@ class CreateHostingSubscriptionBackup implements ShouldQueue
|
|||
*/
|
||||
public function handle(): void
|
||||
{
|
||||
echo "Backup hosting subscription with ID: {$this->hostingSubscriptionId}\n";
|
||||
|
||||
$backup = new HostingSubscriptionBackup();
|
||||
$backup->hosting_subscription_id = $this->hostingSubscriptionId;
|
||||
$backup->backup_type = 'full';
|
||||
$backup->save();
|
||||
echo "Backup hosting subscription backup with ID: {$this->id}\n";
|
||||
|
||||
$backupDone = false;
|
||||
$findHostingSubscriptionBackup = HostingSubscriptionBackup::where('id', $backup->id)->first();
|
||||
$findHostingSubscriptionBackup = HostingSubscriptionBackup::where('id', $this->id)->first();
|
||||
if ($findHostingSubscriptionBackup) {
|
||||
|
||||
for ($i = 0; $i < 200; $i++) {
|
|
@ -5,6 +5,7 @@ namespace App\Models;
|
|||
use App\BackupStorage;
|
||||
use App\Filament\Enums\BackupStatus;
|
||||
use App\Helpers;
|
||||
use App\Jobs\ProcessHostingSubscriptionBackup;
|
||||
use App\ShellApi;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\Casts\Attribute;
|
||||
|
@ -55,7 +56,7 @@ class HostingSubscriptionBackup extends Model
|
|||
});
|
||||
|
||||
static::created(function ($model) {
|
||||
$model->startBackup();
|
||||
ProcessHostingSubscriptionBackup::dispatch($model->id);
|
||||
});
|
||||
|
||||
static::deleting(function ($model) {
|
||||
|
@ -67,17 +68,6 @@ class HostingSubscriptionBackup extends Model
|
|||
|
||||
public function checkCronJob()
|
||||
{
|
||||
$cronJobCommand = 'phyre-php /usr/local/phyre/web/artisan phyre:run-hosting-subscriptions-backup-checks';
|
||||
$findCronJob = CronJob::where('command', $cronJobCommand)->first();
|
||||
|
||||
if (! $findCronJob) {
|
||||
$cronJob = new CronJob();
|
||||
$cronJob->schedule = '*/5 * * * *';
|
||||
$cronJob->command = $cronJobCommand;
|
||||
$cronJob->user = 'root';
|
||||
$cronJob->save();
|
||||
}
|
||||
|
||||
$cronJobCommand = 'phyre-php /usr/local/phyre/web/artisan phyre:create-daily-full-hosting-subscriptions-backup';
|
||||
$findCronJob = CronJob::where('command', $cronJobCommand)->first();
|
||||
if (! $findCronJob) {
|
||||
|
|
Loading…
Reference in a new issue