diff --git a/app/Actions/Application/AnyDeploymentsRunning.php b/app/Actions/Application/AnyDeploymentsRunning.php new file mode 100644 index 000000000..308226955 --- /dev/null +++ b/app/Actions/Application/AnyDeploymentsRunning.php @@ -0,0 +1,39 @@ +getRecent(); + if ($recent) { + $running = $recent->filter(function ($job) use ($hostname) { + $payload = json_decode($job->payload); + $tags = data_get($payload, 'tags'); + + return $job->status != 'completed' && + $job->status != 'failed' && + isset($tags) && + is_array($tags) && + in_array('server:'.$hostname, $tags); + }); + if ($running->count() > 0) { + dump($running); + echo 'true'; + + return true; + } + } + + echo 'false'; + + return false; + } +} diff --git a/app/Jobs/ApplicationDeploymentJob.php b/app/Jobs/ApplicationDeploymentJob.php index 27eded4f3..27f77f7a1 100644 --- a/app/Jobs/ApplicationDeploymentJob.php +++ b/app/Jobs/ApplicationDeploymentJob.php @@ -225,6 +225,11 @@ class ApplicationDeploymentJob implements ShouldBeEncrypted, ShouldQueue } } + public function tags(): array + { + return ['server:'.gethostname()]; + } + public function handle(): void { $this->application_deployment_queue->update([