Sto per intraprendere un nuovo progetto per un cliente che progetta un programma python sul lato server che eseguirà il polling di un certo numero di flussi XML a intervalli regolari e popolerà un database Postgresql con i risultati. Il sistema agirà fondamentalmente come un demone di cacheing XML e popolerà un database. Quel database sarà quindi accessibile da un programma separato che servirà quei dati in JSON a un sito web pubblico.
Mi chiedo se qualcuno abbia suggerimenti sul design di alto livello del programma di caching / polling di Python. Sto pensando a qualcosa di basato sulla classe in cui un certo numero di classi (una per ogni flusso XML da sottoporre a polling) discendono da una classe genitore comune, controlla la presenza di nuovi contenuti e poi ne acquisisce se trovati. Sto pensando di avere una tabella per ciascuno dei flussi XML sul database, una colonna per ciascuno dei campi XML e un'altra tabella per tenere traccia dell '"ultimo accesso" per ogni flusso.
Per questo ho intenzione di utilizzare Python 2.7, pyscopg e ElementTree per l'elaborazione XML.
Qualcuno ha qualche pensiero o critica sul mio design o toolchain a questo punto? Analizzare i miei valori XML per archiviare in un database Postgres più lavoro di quanto valga la pena? A proposito, il programma front-end che servirà quei dati lo trasformerà in JSON piuttosto che in XML.