2016-06-23 3 views
2

Я использую hangFire, чтобы уведомить пользователя о его сегодняшней встрече. вот мой код в запуске приложения или каким-либо другим способом, который периодически запускатьс использованием графика пожарных с уникальным идентификатором

TimeSpan timeSpan = DateTime.Now- notificationTime ; 
BackgroundJob.Schedule(() => sendNotification(reminder.Meeting_Id), timeSpan); 

проблема всякий раз, когда пользователь посетит мой Webiste новый регулярный элемент добавляется в замедленное воспламенение.

Как я могу установить Hangfire для запуска запланированного элемента в определенное время и предоставить этому расписанию уникальный идентификатор?

ответ

0

Вы можете стоять в очереди что-то произойдет в определенный момент времени, а не после задержки, вам просто нужно пройти в удобное для вас время, задание будет помещён:

String uniqueJobId = BackgroundJob.Schedule(() => Console.WriteLine("Task"), notificationTime); 

Метод Расписание также возвращает строку Id задания, чтобы вы могли ссылаться на него позже, если это необходимо.

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

Смежные вопросы