Desidero che un utente esegua alcune azioni ogni volta che viene ricevuto un messaggio. Il consumatore deve essere in esecuzione 24/7 "in ascolto" per la coda o può essere eseguito solo quando viene ricevuto un messaggio appropriato?RabbitMQ consumer on demand?
risposta
Non sono sicuro che la tua domanda abbia un senso. Il messaggio può essere ricevuto solo da una coda dal consumatore di una coda. Per sapere se un messaggio è in coda bisogna guardare la coda. L'unico modo per farlo è essere un consumatore.
Se si desidera realmente, è possibile avere uno script che esegua l'interfaccia della riga di comando per il plug-in di gestione. Questo poteva interrogare la coda e quando aveva una dimensione di più di uno poteva avviare un programma che gestiva un consumatore da consumare dalla coda.
Nulla di tutto ciò ha senso. Se è solo seduto in attesa della coda e non fa altro, difficilmente sta consumando risorse, quindi non vedo quale sarebbe il problema per l'utente 24/7.
Ovviamente il cliente non deve eseguire 24 ore su 24, questo fa parte del punto di MQ. È asincrono. Il consumatore non deve essere in esecuzione quando il produttore scrive in coda. Si potrebbe quindi avere un'attività pianificata che esegue periodicamente il consumatore per controllare ed elaborare i messaggi dalla coda. Ma non penso che sia quello che vuoi.
L'intero punto di ascolto è: non fare nulla finché non arriva un messaggio, elaborare il messaggio, non fare nulla fino al prossimo messaggio. Questo è ciò che vuoi la prima frase della tua domanda. Perché il problema con l'ascolto?
- 1. lazy loading: progressivo vs on-demand
- 2. Quartz.Net trigger Lavoro pianificato On Demand
- 3. MS Office Word VSTO "Load On Demand"
- 4. Come implementare modello single-consumer-multi-coda per RabbitMQ
- 5. Symfony: dovrei aggiungere il comando rabbitmq: consumer a crontab?
- 6. FogBugz On Demand + controllo sorgente online a basso/nessun costo?
- 7. Lavoratori on-demand Amazon EC2 per attività brevi
- 8. Servizi Android: binding on demand e binding su #onCreate()
- 9. video on demand streamin con jwplayer Wowza problema androide
- 10. Permettere connessioni RabbitMQ-Server
- 11. Apache Kafka Consumer group e Simple Consumer
- 12. RabbitMQ rifiutando di avviare RabbitMQ
- 13. Risorse on demand in iOS 9: come individuare la posizione esatta delle risorse scaricate?
- 14. Le istanze riservate in AWS EC2 hanno prestazioni migliori rispetto alle istanze on-demand o spot?
- 15. Devo usare l'idioma Initialize-on-demand e, in caso affermativo, come?
- 16. Questo approccio lockless consumer-consumer Python è thread-safe?
- 17. BlockingCollection consumer multiplo
- 18. Hang di ActiveMQ Consumer
- 19. kafka consumer 0.9 retrocompatibile?
- 20. C# Producer/Consumer pattern
- 21. RabbitMQ 3.5 e priorità messaggio
- 22. OpenID consumer per JAVA GAE
- 23. Java: thread consumer consumer qual è il modo più efficiente per attendere la produzione dei dati
- 24. Problemi con lo scambio fanout RabbitMQ
- 25. RabbitMQ con nodejs
- 26. Eccezioni in rabbitmq con avvio a molla
- 27. Massimizza la velocità di trasmissione con RabbitMQ
- 28. Invia un oggetto utilizzando RabbitMQ
- 29. RabbitMQ + TLS: ssl_upgrade_error
- 30. Producer Consumer Issue with Core Data
Immagino che non ci siano problemi. Ho appena chiesto perché sto solo imparando e non so se un processo che sta solo ascoltando consuma molte risorse o no .. grazie mille per la tua risposta – vicmarq
Fondamentalmente no, non dovrebbe consumare molto in termini di risorse . È necessario un processo in esecuzione tutto il tempo se si desidera utilizzare prontamente i messaggi anche se – robthewolf
Alcuni mi hanno detto di non utilizzare PHP per processi di lunga durata come questi. Cosa ne pensi? – vicmarq