Add checking if date schedule is more than 24 hours before adding to cache. Add advance orders to cache when refreshing. #535
This commit is contained in:
parent
032489d736
commit
f5f321b506
2 changed files with 20 additions and 5 deletions
|
|
@ -48,8 +48,12 @@ class RefreshLatestActiveJobOrderCacheCommand extends Command
|
|||
|
||||
fwrite($tmp_cache_log, 'Cleared latest active jo cache...' . "\n");
|
||||
|
||||
$date = new DateTime();
|
||||
$date->modify('-5 hour');
|
||||
// get JOs -5 and +22 hours from current datetime
|
||||
$start_date = new DateTime();
|
||||
$start_date->modify('-5 hour');
|
||||
|
||||
$end_date = new DateTime();
|
||||
$end_date->modify('+22 hour');
|
||||
|
||||
$status_list = [
|
||||
JOStatus::PENDING,
|
||||
|
|
@ -63,9 +67,11 @@ class RefreshLatestActiveJobOrderCacheCommand extends Command
|
|||
->createQueryBuilder('jo');
|
||||
$res = $qb->select('jo')
|
||||
->where('jo.status IN (:statuses)')
|
||||
->andWhere('jo.date_schedule >= :date')
|
||||
->andWhere('jo.date_schedule >= :start_date')
|
||||
->andWhere('jo.date_schedule <= :end_date')
|
||||
->setParameter('statuses', $status_list, Connection::PARAM_STR_ARRAY)
|
||||
->setParameter('date', $date)
|
||||
->setParameter('start_date', $start_date)
|
||||
->setParameter('end_date', $end_date)
|
||||
->getQuery()
|
||||
->execute();
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,9 @@ use App\Service\JobOrderCache;
|
|||
use App\Ramcar\JOStatus;
|
||||
use App\Entity\JobOrder;
|
||||
|
||||
use DateTime;
|
||||
use DateInterval;
|
||||
|
||||
class JobOrderActiveCacheListener
|
||||
{
|
||||
protected $key;
|
||||
|
|
@ -82,7 +85,13 @@ class JobOrderActiveCacheListener
|
|||
$this->jo_cache->addActiveJobOrder($jo);
|
||||
|
||||
// save in latest JO cache
|
||||
$this->jo_cache->addLatestActiveJoborder($jo);
|
||||
// check if date_schedule is more than 24 hours
|
||||
$date = new DateTime();
|
||||
$interval = new DateInterval('P1D');
|
||||
$date->sub($interval);
|
||||
|
||||
if ($jo->getDateSchedule() >= $date)
|
||||
$this->jo_cache->addLatestActiveJoborder($jo);
|
||||
|
||||
// publish to mqtt
|
||||
$coords = $jo->getCoordinates();
|
||||
|
|
|
|||
Loading…
Reference in a new issue