Voglio convertire il mio sistema di coda attività in una coda di attività basata su Celery, ma una delle funzionalità attualmente disponibili mi causa qualche problema.Come posso acquisire tutti i record del registro python generati durante l'esecuzione di una serie di attività di Celery?
In questo momento, la mia coda di attività funziona in modo molto approssimativo; Eseguo il lavoro (che genera dati e lo carico su un altro server), raccolgo la registrazione utilizzando una variante sulla libreria di acquisizione del registro di Nose e quindi memorizzo la registrazione per l'attività come un record di risultati dettagliato nel database dell'applicazione.
vorrei rompere questo giù come tre compiti:
- raccogliere dati
- dati di upload
- risultati del report (inclusi tutti accedendo dai precedenti due compiti)
I vero kicker qui è la collezione di registrazione. In questo momento, utilizzando l'acquisizione del registro, dispongo di una serie di record di registro per ogni chiamata al registro effettuata durante la generazione dei dati e il processo di caricamento. Questi sono necessari per scopi diagnostici. Dato che le attività non sono nemmeno garantite per l'esecuzione nello stesso processo, non è chiaro come ottenerlo in una coda di attività di Celery.
La mia soluzione ideale a questo problema sarà un metodo banale e idealmente minimamente invasiva di catturare tutta la registrazione durante le attività predecessore (1, 2) e rendendolo disponibile per l'attività Reporter (3)
sono io migliore off restando abbastanza grossolana con la mia definizione di compito, e mettendo tutto questo lavoro in un compito? o c'è un modo per passare il logging catturato esistente al fine di collezionarlo alla fine?