$application_id, 'deployment_uuid' => $deployment_uuid, 'pull_request_id' => $pull_request_id, 'force_rebuild' => $force_rebuild, 'commit' => $commit, ]); $queued_deployments = ApplicationDeploymentQueue::where('application_id', $application_id)->where('status', 'queued')->get()->sortByDesc('created_at'); $running_deployments = ApplicationDeploymentQueue::where('application_id', $application_id)->where('status', 'in_progress')->get()->sortByDesc('created_at'); ray('Queued deployments: ' . $queued_deployments->count()); ray('Running deployments: ' . $running_deployments->count()); if ($queued_deployments->count() > 1) { $queued_deployments = $queued_deployments->skip(1); $queued_deployments->each(function ($queued_deployment, $key) { $queued_deployment->status = 'cancelled by system'; $queued_deployment->save(); }); } if ($running_deployments->count() > 0) { return; } dispatch(new ApplicationDeploymentJob( application_deployment_queue_id: $deployment->id, application_id: $application_id, deployment_uuid: $deployment_uuid, force_rebuild: $force_rebuild, rollback_commit: $commit, pull_request_id: $pull_request_id, )); }