Abbiamo una soluzione di pianificazione python che al momento carica dinamicamente i moduli python per eseguire ogni lavoro in un processo separato.
I lavori sono piuttosto pesanti e contengono alcuni modelli di Tensorflow che elaborano i dati recuperati da unità o database condivisi e li inseriscono nei database.
Ho il compito di mantenere la soluzione di pianificazione e stavo considerando se la containerizzazione di ogni script di "lavoro", utilizzando Docker, sia una buona idea. La soluzione di pianificazione eseguirà quindi i contenitori utilizzando l'interfaccia Python di Docker.
Mi piace Docker e ritengo che segrega ogni lavoro in modo appropriato e fornisca un ambiente di produzione più pulito di quello di scaricare un carico di script in una directory. Sembra anche che renderebbe più semplice testare e distribuire i lavori: push source e Dockerfile su server, build e voilà ordinati. Sono preoccupato per quanto sia mantenibile e performante, nella mia esperienza i contenitori sono abbastanza grandi solo per la fonte, specialmente se si utilizza nvidia-docker ...
TLDR: la pacchettizzazione degli script di "job" di Python è buona prassi o eccessivo?