Updates method names
This commit is contained in:
@ -30,7 +30,7 @@ class Scheduler {
|
||||
->where('post_id', $post_id)
|
||||
->findOne();
|
||||
if($post === false) {
|
||||
self::createPostNotificationQueue($newsletter);
|
||||
self::createPostNotificationSendingTask($newsletter);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -42,7 +42,7 @@ class Scheduler {
|
||||
if($newsletter->event === 'segment' &&
|
||||
in_array($newsletter->segment, $segments)
|
||||
) {
|
||||
self::createWelcomeNotificationQueue($newsletter, $subscriber_id);
|
||||
self::createWelcomeNotificationSendingTask($newsletter, $subscriber_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -53,7 +53,7 @@ class Scheduler {
|
||||
foreach($newsletters as $newsletter) {
|
||||
if($newsletter->event !== $event) continue;
|
||||
if(is_callable($scheduling_condition) && !$scheduling_condition($newsletter)) continue;
|
||||
self::createAutomaticEmailQueue($newsletter, $subscriber_id, $meta);
|
||||
self::createAutomaticEmailSendingTask($newsletter, $subscriber_id, $meta);
|
||||
}
|
||||
}
|
||||
|
||||
@ -79,49 +79,49 @@ class Scheduler {
|
||||
if($newsletter->role === self::WORDPRESS_ALL_ROLES ||
|
||||
in_array($newsletter->role, $wp_user['roles'])
|
||||
) {
|
||||
self::createWelcomeNotificationQueue($newsletter, $subscriber_id);
|
||||
self::createWelcomeNotificationSendingTask($newsletter, $subscriber_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static function createWelcomeNotificationQueue($newsletter, $subscriber_id) {
|
||||
static function createWelcomeNotificationSendingTask($newsletter, $subscriber_id) {
|
||||
$previously_scheduled_notification = SendingQueue::joinWithSubscribers()
|
||||
->where('queues.newsletter_id', $newsletter->id)
|
||||
->where('subscribers.subscriber_id', $subscriber_id)
|
||||
->findOne();
|
||||
if(!empty($previously_scheduled_notification)) return;
|
||||
$queue = SendingTask::create();
|
||||
$queue->newsletter_id = $newsletter->id;
|
||||
$queue->setSubscribers(array($subscriber_id));
|
||||
$queue->status = SendingQueue::STATUS_SCHEDULED;
|
||||
$queue->priority = SendingQueue::PRIORITY_HIGH;
|
||||
$queue->scheduled_at = self::getScheduledTimeForWelcomeNotificationOrAutomaticEmail(
|
||||
$sending_task = SendingTask::create();
|
||||
$sending_task->newsletter_id = $newsletter->id;
|
||||
$sending_task->setSubscribers(array($subscriber_id));
|
||||
$sending_task->status = SendingQueue::STATUS_SCHEDULED;
|
||||
$sending_task->priority = SendingQueue::PRIORITY_HIGH;
|
||||
$sending_task->scheduled_at = self::getScheduledTimeWithDelay(
|
||||
$newsletter->afterTimeType,
|
||||
$newsletter->afterTimeNumber
|
||||
);
|
||||
return $queue->save();
|
||||
return $sending_task->save();
|
||||
}
|
||||
|
||||
static function createAutomaticEmailQueue($newsletter, $subscriber_id, $meta) {
|
||||
$queue = SendingTask::create();
|
||||
$queue->newsletter_id = $newsletter->id;
|
||||
static function createAutomaticEmailSendingTask($newsletter, $subscriber_id, $meta) {
|
||||
$sending_task = SendingTask::create();
|
||||
$sending_task->newsletter_id = $newsletter->id;
|
||||
if($newsletter->sendTo === 'user' && $subscriber_id) {
|
||||
$queue->setSubscribers(array($subscriber_id));
|
||||
$sending_task->setSubscribers(array($subscriber_id));
|
||||
}
|
||||
if($meta) {
|
||||
$queue->__set('meta', $meta);
|
||||
$sending_task->__set('meta', $meta);
|
||||
}
|
||||
$queue->status = SendingQueue::STATUS_SCHEDULED;
|
||||
$queue->priority = SendingQueue::PRIORITY_MEDIUM;
|
||||
$queue->scheduled_at = self::getScheduledTimeForWelcomeNotificationOrAutomaticEmail(
|
||||
$sending_task->status = SendingQueue::STATUS_SCHEDULED;
|
||||
$sending_task->priority = SendingQueue::PRIORITY_MEDIUM;
|
||||
$sending_task->scheduled_at = self::getScheduledTimeWithDelay(
|
||||
$newsletter->afterTimeType,
|
||||
$newsletter->afterTimeNumber
|
||||
);
|
||||
return $queue->save();
|
||||
return $sending_task->save();
|
||||
}
|
||||
|
||||
static function createPostNotificationQueue($newsletter) {
|
||||
static function createPostNotificationSendingTask($newsletter) {
|
||||
$existing_notification_history = Newsletter::where('parent_id', $newsletter->id)
|
||||
->where('type', Newsletter::TYPE_NOTIFICATION_HISTORY)
|
||||
->where('status', Newsletter::STATUS_SENDING)
|
||||
@ -129,7 +129,6 @@ class Scheduler {
|
||||
if($existing_notification_history) {
|
||||
return;
|
||||
}
|
||||
|
||||
$next_run_date = self::getNextRunDate($newsletter->schedule);
|
||||
if(!$next_run_date) return;
|
||||
// do not schedule duplicate queues for the same time
|
||||
@ -137,12 +136,12 @@ class Scheduler {
|
||||
->where('tasks.scheduled_at', $next_run_date)
|
||||
->findOne();
|
||||
if($existing_queue) return;
|
||||
$queue = SendingTask::create();
|
||||
$queue->newsletter_id = $newsletter->id;
|
||||
$queue->status = SendingQueue::STATUS_SCHEDULED;
|
||||
$queue->scheduled_at = $next_run_date;
|
||||
$queue->save();
|
||||
return $queue;
|
||||
$sending_task = SendingTask::create();
|
||||
$sending_task->newsletter_id = $newsletter->id;
|
||||
$sending_task->status = SendingQueue::STATUS_SCHEDULED;
|
||||
$sending_task->scheduled_at = $next_run_date;
|
||||
$sending_task->save();
|
||||
return $sending_task;
|
||||
}
|
||||
|
||||
static function processPostNotificationSchedule($newsletter) {
|
||||
@ -209,19 +208,7 @@ class Scheduler {
|
||||
return $previous_run_date;
|
||||
}
|
||||
|
||||
static function getNewsletters($type, $group = false) {
|
||||
return Newsletter::getPublished()
|
||||
->filter('filterType', $type, $group)
|
||||
->filter('filterStatus', Newsletter::STATUS_ACTIVE)
|
||||
->filter('filterWithOptions')
|
||||
->findMany();
|
||||
}
|
||||
|
||||
static function formatDatetimeString($datetime_string) {
|
||||
return Carbon::parse($datetime_string)->format('Y-m-d H:i:s');
|
||||
}
|
||||
|
||||
static function getScheduledTimeForWelcomeNotificationOrAutomaticEmail($after_time_type, $after_time_number) {
|
||||
static function getScheduledTimeWithDelay($after_time_type, $after_time_number) {
|
||||
$current_time = Carbon::createFromTimestamp(WPFunctions::currentTime('timestamp'));
|
||||
switch($after_time_type) {
|
||||
case 'hours':
|
||||
@ -234,4 +221,16 @@ class Scheduler {
|
||||
return $current_time;
|
||||
}
|
||||
}
|
||||
|
||||
static function getNewsletters($type, $group = false) {
|
||||
return Newsletter::getPublished()
|
||||
->filter('filterType', $type, $group)
|
||||
->filter('filterStatus', Newsletter::STATUS_ACTIVE)
|
||||
->filter('filterWithOptions')
|
||||
->findMany();
|
||||
}
|
||||
|
||||
static function formatDatetimeString($datetime_string) {
|
||||
return Carbon::parse($datetime_string)->format('Y-m-d H:i:s');
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user