Ik moet een uitnodiging systeem maken en dit gaat me prima af maar over het vergelijken en versturen van een uitnodiging e-mail zou ik graag wat advies inwinnen.
Klant besteld in een webshop, mijn extensie stuurt de datetime van wanneer bestelling verzonden is door naar mijn database.
1. 03-03-2020:11:39:05
Klant kan in zijn account aangeven wanneer uitnodiging mail verzonden moet worden dus na 1 uur of in dagen.
Nu wil ik een cronjob deze tijden laten vergelijken en wanneer ze matchen een invite versturen.
Ik heb het nu met datums gemaakt en werkt wel maar dan stuurt die dus gewoon de invite als de datums matchen en niet precies 1 uur of precies 2 dagen.
Ik kan toch niet de cronjob elke seconden laten runnen om deze check te doen, dit zal een keer mis gaan en kost veel resources denk ik steeds?
<?php
$SentCyclus = getDomainSentInviteCyclusByDomainId($rows['domain_id']); // 1 hour - 2 days etc..
$orderCompletedDateTime = $rows['created_at']; // 2020-02-17;16:00
// convert datetimes to normal dates.
$OrderCompletedDate = new DateTime($orderCompletedDateTime);
$OrderCompletedDate = $OrderCompletedDate->format('Y-m-d'); // 2020-02-17
$CompareDate = date('Y-m-d', strtotime($OrderCompletedDate. ' + '.$SentCyclus.' days'));
if ($CompareDate == date('Y-m-d'))
{
// Today is the day to sent the invite.
}
?>Zelf opgelost door simpelweg (Y-m-d: H:i) te gebruiken overal. Lange dagen maken je onscherp