Example #1
0
 function fire($job, $data = null)
 {
     $job->delete();
     $flights = Flight::whereMissing(true)->select('flights.id', 'updates.timestamp')->join('positions', 'flights.id', '=', 'positions.flight_id')->join('updates', 'positions.update_id', '=', 'updates.id')->take(10000)->get();
     foreach ($flights as $flight) {
         if (Carbon::now()->diffInMinutes(Carbon::parse($flight->timestamp)) >= 60) {
             $flight->delete();
             // Log::info('queue:datafeed[' . $job->getJobId() . '] deleted flight #' . $flight->id . ', missing: ' . Carbon::now()->diffInMinutes(Carbon::parse($flight->timestamp)));
         }
         unset($flight);
     }
 }
 /**
  * Prepares an array for the map and stores it in the database.
  *
  * @return void
  */
 protected function map()
 {
     $flights = Flight::whereMissing(false)->whereIn('state', [1, 3])->join('pilots', 'flights.vatsim_id', '=', 'pilots.vatsim_id')->select('flights.*', 'pilots.name')->get()->transform(function ($flight) {
         return ['id' => $flight->id, 'callsign' => $flight->callsign, 'vatsim_id' => $flight->vatsim_id, 'pilot' => $flight->name, 'departure' => $flight->departure_id, 'arrival' => $flight->arrival_id, 'aircraft_code' => $flight->aircraft_code, 'aircraft_id' => $flight->aircraft_id, 'lat' => $flight->last_lat, 'lon' => $flight->last_lon, 'altitude' => $flight->last_altitude, 'speed' => $flight->last_speed, 'heading' => $flight->last_heading];
     });
     Cache::forever('vatsim.map', $flights);
     unset($flights);
 }