2024-02-26 13:22:24 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Console\Commands;
|
|
|
|
|
|
|
|
use App\Models\ApplicationDeploymentQueue;
|
|
|
|
use Illuminate\Console\Command;
|
|
|
|
|
|
|
|
class CleanupApplicationDeploymentQueue extends Command
|
|
|
|
{
|
|
|
|
protected $signature = 'cleanup:application-deployment-queue {--team-id=}';
|
2024-06-10 20:43:34 +00:00
|
|
|
|
2024-02-26 13:22:24 +00:00
|
|
|
protected $description = 'CleanupApplicationDeploymentQueue';
|
|
|
|
|
|
|
|
public function handle()
|
|
|
|
{
|
|
|
|
$team_id = $this->option('team-id');
|
|
|
|
$servers = \App\Models\Server::where('team_id', $team_id)->get();
|
|
|
|
foreach ($servers as $server) {
|
2024-06-10 20:43:34 +00:00
|
|
|
$deployments = ApplicationDeploymentQueue::whereIn('status', ['in_progress', 'queued'])->where('server_id', $server->id)->get();
|
2024-02-26 13:22:24 +00:00
|
|
|
foreach ($deployments as $deployment) {
|
|
|
|
$deployment->update(['status' => 'failed']);
|
2024-06-10 20:43:34 +00:00
|
|
|
instant_remote_process(['docker rm -f '.$deployment->deployment_uuid], $server, false);
|
2024-02-26 13:22:24 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|