Timer no Thread no Windows Service

Não consigo descobrir como proceder da melhor maneira com esse problem

gora, eu tenho um serviço do Windows cuja única tarefa é coletar dados de um banco de dados com um DSN específico e enviar um email se os dados forem válidos. O serviço contém um timer que marca a cada 5 minutos e executa as tarefas acim

Agora preciso reescrever o serviço windows para poder executar em mais de um DSN. Eu estava pensando em fazer vários threads dentro do serviço windows e, em seguida, novamente ter um temporizador separado dentro de cada thread. É uma boa ideia e como isso pode ser feito? Quero evitar um serviço do Windows para cada DSN.

Vou tentar desenhá-lo se não fizer sentido

                             Windows Service

Thread1 (DSN1) ----------------------------- Thread2 (DSN2) ------------ ---------- Thread3 (DSN3)
Timer (marca cada X minuto) ----------------- Timer (same) --------------------- ---- Temporizador (mesmo)
Logic () --------------------------------------------- Logic ---------------------------------Lógica(

Espero que meu problema faça sentido:)

questionAnswers(4)

yourAnswerToTheQuestion