<?php namespace BusyRoomsCMS\Service\Jobs; use Symfony\Component\Process\Process; use Illuminate\Support\Facades\Artisan; use BusyRoomsCMS\Interfaces\Classes\JobsClient; class InstallVouchershop { public function fire($job, $data) { $process = new Process('cd plugins/busyroomscms && git clone [email protected]:busyroomscms/vouchershop-plugin.git vouchershop'); $process->mustRun(); shell_exec('composer update); Artisan::call('october:up'); Artisan::call('october:mirror', ['destination' => 'public/']); Artisan::call('plugin:remove', ['name' => 'October.Demo', '--force' => true]); $apiClient = new JobsClient(); $apiClient->updateJob($data['job_id'], 'done'); $job->delete(); } public function failed($data) { $apiClient = new JobsClient(); $apiClient->updateJob($data['job_id'], 'failed'); } }