Merge pull request #280 from nkevins/expired_flight_cleaning

Hide expired live flight from live map and remove from DB
This commit is contained in:
Nabeel Shahzad
2018-09-20 18:44:42 -05:00
committed by GitHub
4 changed files with 36 additions and 2 deletions

View File

@@ -0,0 +1,33 @@
<?php
namespace App\Cron\Hourly;
use App\Events\CronHourly;
use App\Interfaces\Listener;
use App\Models\Pirep;
use Carbon\Carbon;
/**
* Remove expired live flights
*/
class RemoveExpiredLiveFlights extends Listener
{
/**
* Remove expired live flights
*
* @param CronHourly $event
*
* @throws \Exception
*/
public function handle(CronHourly $event): void
{
if (setting('acars.live_time') === 0) {
return;
}
$date = Carbon::now()->subHours(setting('acars.live_time'));
Pirep::whereDate('created_at', '<', $date)
->where('state', PirepState::IN_PROGRESS)
->delete();
}
}

View File

@@ -13,7 +13,7 @@ class CronHourly
use Dispatchable, SerializesModels;
/**
* CronNightly constructor.
* CronHourly constructor.
*/
public function __construct()
{

View File

@@ -69,7 +69,7 @@ class AcarsController extends Controller
*/
public function index(Request $request)
{
$pireps = $this->acarsRepo->getPositions();
$pireps = $this->acarsRepo->getPositions(setting('acars.live_time'));
$positions = $this->geoSvc->getFeatureForLiveFlights($pireps);
return response(json_encode($positions), 200, [

View File

@@ -36,6 +36,7 @@ class CronServiceProvider extends ServiceProvider
CronHourly::class => [
\App\Cron\Hourly\RemoveExpiredBids::class,
\App\Cron\Hourly\RemoveExpiredLiveFlights::class,
],
];
}