script = $script; $this->server = $server; $this->user = $user; } /** * @throws Throwable */ public function handle(): void { $this->scriptExecution = $this->script->executions()->create([ 'server_id' => $this->server->id, 'user' => $this->user, ]); $this->server->ssh($this->scriptExecution->user)->exec( $this->script->content, 'execute-script' ); $this->scriptExecution->finished_at = now(); $this->scriptExecution->save(); event( new Broadcast('execute-script-finished', [ 'execution' => $this->scriptExecution, ]) ); } public function failed(): void { $this->scriptExecution->finished_at = now(); $this->scriptExecution->save(); event( new Broadcast('execute-script-failed', [ 'execution' => $this->scriptExecution, ]) ); } }