У меня есть метод, который обрабатывает события, которые я получаю с сервера. Метод можно вызывать из нескольких мест в разных классах. Я хочу синхронизировать обработку событий с помощью DispatchQueue/Serial Queue, чтобы отбросить повторяющиеся события в нескольких вызовах. Я знаю об очередях отправки и о том, как они работают, но не могу найти лучшее решение для своей проблемы.
Для достижения: синхронизируя, я хочу обеспечить последовательную обработку, чтобы отбросить повторяющиеся события.
func process(events:[Events]) {
// by synchronizing I want to ensure sequential processing, to discard duplicate events
for event in events {
// process, save to db,
}
// issue notifications, etc
}
class A {
process(events)
}
class B {
process(events)
}
Любая помощь приветствуется. Спасибо!