- Updates scheduling logic to work with the new normalized DB time
This commit is contained in:
@@ -22,7 +22,7 @@ class Scheduler {
|
|||||||
|
|
||||||
function process() {
|
function process() {
|
||||||
$scheduled_queues = SendingQueue::where('status', 'scheduled')
|
$scheduled_queues = SendingQueue::where('status', 'scheduled')
|
||||||
->whereLte('scheduled_at', Carbon::now()->format('Y-m-d H:i:s'))
|
->whereLte('scheduled_at', Carbon::createFromTimestamp(current_time('timestamp')))
|
||||||
->findMany();
|
->findMany();
|
||||||
if(!count($scheduled_queues)) return;
|
if(!count($scheduled_queues)) return;
|
||||||
foreach($scheduled_queues as $queue) {
|
foreach($scheduled_queues as $queue) {
|
||||||
@@ -80,7 +80,8 @@ class Scheduler {
|
|||||||
$new_queue = SendingQueue::create();
|
$new_queue = SendingQueue::create();
|
||||||
$new_queue->newsletter_id = $newsletter->id;
|
$new_queue->newsletter_id = $newsletter->id;
|
||||||
$schedule = Cron::factory($newsletter->schedule);
|
$schedule = Cron::factory($newsletter->schedule);
|
||||||
$new_queue->scheduled_at = $schedule->getNextRunDate()->format('Y-m-d H:i:s');
|
$new_queue->scheduled_at =
|
||||||
|
$schedule->getNextRunDate(current_time('mysql'))->format('Y-m-d H:i:s');
|
||||||
$new_queue->status = 'scheduled';
|
$new_queue->status = 'scheduled';
|
||||||
$new_queue->save();
|
$new_queue->save();
|
||||||
}
|
}
|
||||||
|
@@ -34,6 +34,7 @@ class SendingQueue {
|
|||||||
foreach($this->getQueues() as $queue) {
|
foreach($this->getQueues() as $queue) {
|
||||||
$newsletter = Newsletter::findOne($queue->newsletter_id);
|
$newsletter = Newsletter::findOne($queue->newsletter_id);
|
||||||
if(!$newsletter) {
|
if(!$newsletter) {
|
||||||
|
$queue->delete();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$newsletter = $newsletter->asArray();
|
$newsletter = $newsletter->asArray();
|
||||||
|
@@ -62,7 +62,8 @@ class SendingQueue {
|
|||||||
$queue->newsletter_id = $newsletter->id;
|
$queue->newsletter_id = $newsletter->id;
|
||||||
}
|
}
|
||||||
$schedule = Cron::factory($newsletter->schedule);
|
$schedule = Cron::factory($newsletter->schedule);
|
||||||
$queue->scheduled_at = $schedule->getNextRunDate()->format('Y-m-d H:i:s');
|
$queue->scheduled_at =
|
||||||
|
$schedule->getNextRunDate(current_time('mysql'))->format('Y-m-d H:i:s');
|
||||||
$queue->status = 'scheduled';
|
$queue->status = 'scheduled';
|
||||||
$queue->save();
|
$queue->save();
|
||||||
return array(
|
return array(
|
||||||
|
Reference in New Issue
Block a user