feat: cleanup queue
This commit is contained in:
parent
037ba3ff79
commit
548304765c
@ -14,13 +14,19 @@ use Illuminate\Support\Facades\Http;
|
|||||||
|
|
||||||
class Init extends Command
|
class Init extends Command
|
||||||
{
|
{
|
||||||
protected $signature = 'app:init {--full-cleanup}';
|
protected $signature = 'app:init {--full-cleanup} {--cleanup-deployments}';
|
||||||
protected $description = 'Cleanup instance related stuffs';
|
protected $description = 'Cleanup instance related stuffs';
|
||||||
|
|
||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
$this->alive();
|
$this->alive();
|
||||||
$full_cleanup = $this->option('full-cleanup');
|
$full_cleanup = $this->option('full-cleanup');
|
||||||
|
$cleanup_deployments = $this->option('cleanup-deployments');
|
||||||
|
if ($cleanup_deployments) {
|
||||||
|
echo "Running cleanup deployments.\n";
|
||||||
|
$this->cleanup_in_progress_application_deployments();
|
||||||
|
return;
|
||||||
|
}
|
||||||
if ($full_cleanup) {
|
if ($full_cleanup) {
|
||||||
echo "Running init cleanupsg.\n";
|
echo "Running init cleanupsg.\n";
|
||||||
|
|
||||||
@ -122,8 +128,9 @@ class Init extends Command
|
|||||||
// Cleanup any failed deployments
|
// Cleanup any failed deployments
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$halted_deployments = ApplicationDeploymentQueue::where('status', '==', ApplicationDeploymentStatus::IN_PROGRESS)->where('status', '==', ApplicationDeploymentStatus::QUEUED)->get();
|
$queued_inprogress_deployments = ApplicationDeploymentQueue::whereIn('status', [ApplicationDeploymentStatus::IN_PROGRESS->value, ApplicationDeploymentStatus::QUEUED->value])->get();
|
||||||
foreach ($halted_deployments as $deployment) {
|
foreach ($queued_inprogress_deployments as $deployment) {
|
||||||
|
ray($deployment->id, $deployment->status);
|
||||||
echo "Cleaning up deployment: {$deployment->id}\n";
|
echo "Cleaning up deployment: {$deployment->id}\n";
|
||||||
$deployment->status = ApplicationDeploymentStatus::FAILED->value;
|
$deployment->status = ApplicationDeploymentStatus::FAILED->value;
|
||||||
$deployment->save();
|
$deployment->save();
|
||||||
|
|||||||
@ -6,6 +6,7 @@ use App\Models\ApplicationDeploymentQueue;
|
|||||||
use App\Models\Project;
|
use App\Models\Project;
|
||||||
use App\Models\Server;
|
use App\Models\Server;
|
||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
|
use Illuminate\Support\Facades\Artisan;
|
||||||
use Livewire\Component;
|
use Livewire\Component;
|
||||||
|
|
||||||
class Dashboard extends Component
|
class Dashboard extends Component
|
||||||
@ -19,6 +20,12 @@ class Dashboard extends Component
|
|||||||
$this->projects = Project::ownedByCurrentTeam()->get();
|
$this->projects = Project::ownedByCurrentTeam()->get();
|
||||||
$this->get_deployments();
|
$this->get_deployments();
|
||||||
}
|
}
|
||||||
|
public function cleanup_queue()
|
||||||
|
{
|
||||||
|
Artisan::queue('app:init', [
|
||||||
|
'--cleanup-deployments' => 'true'
|
||||||
|
]);
|
||||||
|
}
|
||||||
public function get_deployments()
|
public function get_deployments()
|
||||||
{
|
{
|
||||||
$this->deployments_per_server = ApplicationDeploymentQueue::whereIn("status", ["in_progress", "queued"])->whereIn("server_id", $this->servers->pluck("id"))->get([
|
$this->deployments_per_server = ApplicationDeploymentQueue::whereIn("status", ["in_progress", "queued"])->whereIn("server_id", $this->servers->pluck("id"))->get([
|
||||||
|
|||||||
@ -106,6 +106,7 @@
|
|||||||
@if (count($deployments_per_server) > 0)
|
@if (count($deployments_per_server) > 0)
|
||||||
<x-loading />
|
<x-loading />
|
||||||
@endif
|
@endif
|
||||||
|
<x-forms.button wire:click='cleanup_queue'>Cleanup Queues</x-forms.button>
|
||||||
</div>
|
</div>
|
||||||
<div wire:poll.1000ms="get_deployments" class="grid grid-cols-1">
|
<div wire:poll.1000ms="get_deployments" class="grid grid-cols-1">
|
||||||
@forelse ($deployments_per_server as $server_name => $deployments)
|
@forelse ($deployments_per_server as $server_name => $deployments)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user