Имам няколко вида автоматизирани имейли, които да се изпращат програмно до потребителите в моята база данни. Сумата ще се промени, но часовете за изпълнение са точно :00.
Така че вместо да задавам различни задания на cron да се изпълняват в различни часове на деня, мислех да създам само един скрипт, който да се изпълнява всеки час, който проверява времето и съответно изпраща имейли. Ето грубата идея:
date_default_timezone_set('America/Los_Angeles');
// setting the timezone to the one of the hosting server
$cur_hour = (int)date('G'); // PDT hour
if ($cur_hour == 1) { // 1am
// collect information from db
// send e-mail A to these users
// update db
} elseif ($cur_hour == 2) { // 2am
// collect information from db
// send e-mail B to these users
// update db
} elseif ($cur_hour == 3) { // 3am
// likewise…
}
Това правилният подход ли е или има по-ефективен или по-добър начин да направите това?
Допълнителна информация: В някои имейли има променливи, така че не мога да изпратя нито един имейл там. Ще трябва да изпратя напр. Изпратете имейл A до всеки приложим потребител поотделно. И все още няма хиляди потребители.