- Adds new task scheduler configuration class

- Introduces method to start cron on demand when there are
  scheduled newsletters or queues in progress
This commit is contained in:
Vlad
2016-07-19 08:48:49 -04:00
parent ca2c1c2e6f
commit 6dd3c6acda
4 changed files with 84 additions and 13 deletions

View File

@@ -24,9 +24,7 @@ class Scheduler {
}
function process() {
$scheduled_queues = SendingQueue::where('status', 'scheduled')
->whereLte('scheduled_at', Carbon::createFromTimestamp(current_time('timestamp')))
->findMany();
$scheduled_queues = self::getScheduledQueues();
if(!count($scheduled_queues)) return;
foreach($scheduled_queues as $i => $queue) {
$newsletter = Newsletter::filter('filterWithOptions')
@@ -185,4 +183,10 @@ class Scheduler {
$notification_history :
false;
}
static function getScheduledQueues() {
return SendingQueue::where('status', 'scheduled')
->whereLte('scheduled_at', Carbon::createFromTimestamp(current_time('timestamp')))
->findMany();
}
}