Предотвратить отправку уведомления Laravel - PullRequest
0 голосов
/ 19 марта 2020

Я работаю над функцией отправки "каскада" или цепочки уведомлений с задержкой между ними по другому каналу. Например:

Электронная почта -> (30 минут спустя) -> Pu sh -> (30 минут спустя) -> SMS

Этот поток работает хорошо, теперь пользователь завершает что-то или делает действие, я хочу, чтобы цепь остановилась. Поэтому я останавливаю или запрещаю отправку уведомления. Это то, что я пробовал, но, кажется, ничто не может остановить их .

Я пробовал:

public function via($notifiable)
{
    if (whatever condition to stop) {
        return null; // also tried with return []
    }

    return ['mail'];
}

Также

public function __construct(array $data = [])
{
    if (whatever condition to stop) {
        exit; // are you desperate, bruh?
    }
}

Есть ли что-то супер очевидное, чего я не вижу? Может быть связано с нашим пользовательским планировщиком. У вас есть идея, где я могу сломать приложение, чтобы предотвратить отправку уведомления?

1 Ответ

0 голосов
/ 19 марта 2020

На самом деле этого было достаточно:

public function via($notifiable)
{
    if (whatever condition to stop) {
        return [];
    }

    return ['mail'];
}

Проблема была в другом, Docker показывал мне кэшированную версию файлов, поэтому они всегда возвращали return ['mail'];

...