Sto costruendo un'applicazione che al momento contiene molti piccoli script Python.
Ogni script Python elabora gli elementi da una coda Amazon SQS. Le e-mail entrano in una coda iniziale e vengono elaborate da uno script, e tipicamente lo script eseguirà una piccola unità di elaborazione (ad esempio, analizza la posta elettronica e memorizza alcuni campi del database), quindi un elemento verrà inserito nella coda successiva per l'ulteriore elaborazione , fino a quando l'e-mail non ha completato i vari script e le code.
Quello che mi piace di questo approccio è che è molto liberamente accoppiato.
Tuttavia, non sono sicuro di come implementarlo dal vivo. Dovrei rendere ogni script un demone che sta costantemente interrogando la sua coda in entrata per le cose da fare? O dovrebbe esserci qualche programma o processo di orchestrazione globale? O forse non dovrei avere molti piccoli script Python ma una grande applicazione?
Domande specifiche: Come dovrei eseguire ognuno di questi script - come un demone con qualche sorta o riavviare il monitor per riavviarli nel caso si fermino per qualsiasi motivo? Se sì, dovrei avere qualche programma che lo orchestra?
O l'idea di molti piccoli script non è buona, avrebbe più senso avere un programma python più grande che contenga tutte le funzionalità e che faccia tutto il polling e l'esecuzione delle funzionalità della coda per ogni coda? Qual è l'attuale approccio preferito alla demonizzazione degli script Python?
In generale, accolgo con favore qualsiasi commento o opinione su qualsiasi aspetto di questo.
grazie