28 lines
927 B
PHP
28 lines
927 B
PHP
<?php
|
|
|
|
namespace App\Console\Commands;
|
|
|
|
use App\Models\ApplicationDeploymentQueue;
|
|
use App\Models\Server;
|
|
use Illuminate\Console\Command;
|
|
|
|
class CleanupApplicationDeploymentQueue extends Command
|
|
{
|
|
protected $signature = 'cleanup:deployment-queue {--team-id=}';
|
|
|
|
protected $description = 'Cleanup application deployment queue.';
|
|
|
|
public function handle()
|
|
{
|
|
$team_id = $this->option('team-id');
|
|
$servers = Server::query()->where('team_id', $team_id)->get();
|
|
foreach ($servers as $server) {
|
|
$deployments = ApplicationDeploymentQueue::query()->whereIn('status', ['in_progress', 'queued'])->where('server_id', $server->id)->get();
|
|
foreach ($deployments as $deployment) {
|
|
$deployment->update(['status' => 'failed']);
|
|
instant_remote_process(['docker rm -f '.$deployment->deployment_uuid], $server, false);
|
|
}
|
|
}
|
|
}
|
|
}
|