Я написал платформу распространения рабочих процессов, которая в основном используется для извлечения текста из файлов различных типов. Он работает, обрабатывая файл и затем возвращая все встроенные элементы в этом файле, которые можно извлечь из текста. Каждый созданный рабочий элемент уникально идентифицируется по GUID, а также имеет родительский GUID. Для файла без вложенных элементов GUID рабочего элемента и GUID родительского элемента равны. Если в файле есть встроенные элементы, рабочий элемент создается для каждого встроенного элемента, имеющего уникальный GUID, а его родительский GUID равен GUID файла. Например, файл сообщений Outlook может содержать вложения, которые, в свою очередь, могут содержать вложенные элементы (т.е. вставка электронной таблицы в документ Word).
Я хочу предоставить интерфейс, который будет отправлять уведомления клиентам, когда рекурсия для любого элемента в обработке исходного файла завершена. Я уже написал древовидную структуру, чтобы делать то, что я хочу, но это кажется дурацким и наивным. Есть ли известный шаблон или библиотека, которая обеспечивает то, что я изложил выше?