mirror of
https://github.com/alexjustesen/speedtest-tracker.git
synced 2026-06-23 07:40:08 +00:00
a06b231eb6
Co-authored-by: Alex Justesen <1144087+alexjustesen@users.noreply.github.com>
30 lines
735 B
PHP
30 lines
735 B
PHP
<?php
|
|
|
|
namespace App\Services;
|
|
|
|
use Carbon\Carbon;
|
|
use Cron\CronExpression;
|
|
|
|
class ScheduledSpeedtestService
|
|
{
|
|
/**
|
|
* Assess if there are scheduled speedtests and return the next scheduled time.
|
|
*
|
|
* @return Carbon|null Returns null if no tests are scheduled, or Carbon instance with next scheduled test
|
|
*/
|
|
public static function getNextScheduledTest(): ?Carbon
|
|
{
|
|
$schedule = config('speedtest.schedule');
|
|
|
|
if (blank($schedule) || $schedule === false) {
|
|
return null;
|
|
}
|
|
|
|
$cronExpression = new CronExpression($schedule);
|
|
|
|
return Carbon::parse(
|
|
time: $cronExpression->getNextRunDate(timeZone: config('app.display_timezone'))
|
|
);
|
|
}
|
|
}
|