Когда пользователь зарегистрирован в конференции, вы можете поставить в очередь сообщение (с данными пользователя) в очередь с задержкой видимости :
queue.AddMessage(message, initialVisibilityDelay: TimeSpanDelay);
Например, пользователь зарегистрирован в 18:00, и конференция будетбыть на следующий день в 8 вечера, поэтому время задержки будет 25 часов и 55 минут (предполагается, что пользователь хочет получить уведомление за 5 минут до конференции).Тогда вместо функции запуска по времени вы будете использовать функцию запуска по очереди, которая будет отправлять уведомления, когда сообщения из очереди станут видимыми:
public static void Run([QueueTrigger("notifications")]QueueTrigger message, TraceWriter log)
{
Notifier.Send(message.UserName, message.UserPhoneNumber, message.Email);
}
Более того, если по какой-то причине ваш обработчик уведомлений будет неуспешным, сообщения очереди будутне потеряйтесь, так что вы можете попытаться обработать их несколько раз.