Open sidebar
<?php namespace App\Jobs; use Log; use App\Jobs\Job; use Illuminate\Queue\SerializesModels; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\DispatchesJobs; use App\Provider; use Mpociot\Blacksmith\Blacksmith; class AddWeb2Server extends Job implements ShouldQueue { use InteractsWithQueue, SerializesModels, DispatchesJobs; protected $provider; /** * Create a new job instance. * * @return void */ public function __construct(Provider $provider) { $this->provider = $provider; } /** * Execute the job. * * @return void */ public function handle() { Log::info('Job AddWeb2Server startet'); $provider = $this->provider; if ($this->attempts() <= 1 && $provider->status == 2) { $sitename = parse_url($provider->domain, PHP_URL_HOST); $blacksmith = new Blacksmith(env('FORGE_EMAIL'), env('FORGE_PASSWORD')); $server = $blacksmith->getActiveServers()->first(); $addSite = $server->addSite($sitename, $project_type = 'php', $directory = '/public', $wildcards = false); $provider->server_site_id = $addSite->id; $provider->status = 3; $provider->save(); Log::info('Job AddWeb2Server done'); #session(['provider_status' => $provider->status]); // wait 30 seconds for execution of next job $job = (new AddApp2Server($provider))->delay(30); $this->dispatch($job); Log::info('Job AddApp2Server dispatched'); } } /** * Handle a job failure. * * @return void */ public function failed() { Log::error('Job AddWeb2Server failed!'); } }
Close sidebar
Back
Please note that all pasted data is publicly available.
Twitter
GitHub
Use setting
Back
Please note that all pasted data is publicly available.
Twitter
GitHub
Use setting