SetStartStatus(); //Declare some variables $charId = 93738849; $corpId = 98287666; //ESI Scope Check $esiHelper = new Esi(); $structureScope = $esiHelper->HaveEsiScope($charId, 'esi-universe.read_structures.v1'); $corpStructureScope = $esiHelper->HaveEsiScope($charId, 'esi-corporations.read_structures.v1'); if($structureScope == false || $corpStructureScope == false) { Log::critical("Scope check for esi failed."); return null; } //Setup the esi authentication container $config = config('esi'); //Get the refresh token from the database $token = EsiToken::where(['character_id' => 93738489])->get(['refresh_token']); $authentication = new EsiAuthentication([ 'client_id' => $config['client_id'], 'secret' => $config['secret'], 'refresh_token' => $token[0]->refresh_token, ]); $esi = new Eseye($authentication); //Set the current page $currentPage = 1; //Set our default total pages, and we will refresh this later $totalPages = 1; try { $structures = $esi->page($currentPage) ->invoke('get', '/corporations/{corporation_id}/structures/', [ 'corporation_id' => $corpId, ]); } catch (RequestFailedException $e) { Log::critical("Failed to get structure list."); return null; } for($i = 1; $i <= $structures->pages; $i++) { $job = new JobProcessStructure; $job->charId = $charId; $job->corpId = $corpId; $job->page = $i; $job->esi = $esi; ProcessStructureJob::dispatch($job)->onQueue('default'); } //Mark the job as finished $task->SetStopStatus(); } }