Desidero configurare un sistema di pubblicazione/sottoreport di rete, ma deve anche essere in grado di eseguire attività in modo asincrono. Ho provato a prendere il sedano per fare il sollevamento pesi, ma mi sento come se stessi cercando di spremere un sacco di cose solo per farlo funzionare.Celery come eventi pub/sub in rete
Ho due macchine (ingresso e uscita) e hanno entrambi accesso a RabbitMQ. Mi piacerebbe avere un programma principale per dare il via ad un loop che aspetta input (movimento rilevato da una webcam). Ho impostato che input_machine avvia main.py che avvia un'attività di sedici che viene monitorata da un worker sulla input_machine subbed alla coda "input". Questa attività esegue un ciclo True while finché non viene rilevato un input, che quindi chiama un altro nome ('project.entered_room' che non fa nulla) attività di sedan nella coda "output".
Nel frattempo su output_machine, ho un'istanza di celery che guarda la coda "output" con un'attività denominata ('project.entered_room' che risponde a qualcuno che entra nella stanza).
Quindi, quando viene rilevato un input su input_machine, un'attività viene eseguita sulla macchina di output. Riesco a farlo funzionare ma a riscontrare numerosi problemi di importazione e altri grattacapi. C'è un modo più semplice per realizzare questo? Sto andando tutto sbagliato? Sto usando gli strumenti sbagliati?
Ho esaminato una serie di strutture diverse, compresi i circuiti e il twistato. Twisted è molto complesso e mi sento come se stessi colpendo un chiodo con un martello pneumatico.