Sto cercando di utilizzare il rubygem di Twitter-stream alimentato da EventMachine per tracciare e catturare tweet. Sono un po 'nuovo per l'intera cosa di programmazione evented. Come posso sapere se l'elaborazione che sto facendo nel mio ciclo degli eventi mi sta causando un ritardo? C'è un modo semplice per controllare?EventMachine: come puoi sapere se ti stai lasciando indietro?
risposta
EventMachine ha un metodo EventMachine::Queue.size
che consente di dare un'occhiata alla coda corrente e avere un'idea di quanto è grande.
È possibile add_periodic_timer()
e, in tal caso, ottenere la dimensione della coda e stamparla.
Se il numero non si riduce, si è alla parità. Se sta salendo, stai cadendo indietro.
Esattamente quello di cui avevo bisogno. Grazie! – makenai
Sembra che la dimensione non sia un metodo di classe, quindi non puoi chiamarlo come scritto qui? 'EventMachine :: Queue.size' È solo per code personalizzate (un'istanza di quella classe) o può essere usato per ottenere la dimensione della coda del reattore principale? Sono un po 'nuovo di EventMachine quindi grazie per l'aiuto. –
Questo metodo è per code personalizzate e non per la coda del reattore principale. In effetti non c'è un modo per vedere il conteggio esatto (https://groups.google.com/forum/?fromgroups#!topic/eventmachine/7CAkYGZnwzk). Ottenere la latenza è spesso una buona alternativa vedere la risposta di dj2 – trcarden
È possibile determinare la latenza utilizzando un timer periodico e stampando il tempo trascorso. Se stai usando un timer di 1 secondo dovresti avere circa 1 secondo trascorso, se è maggiore sai quanto stai rallentando il reattore.
@last = Time.now.to_f
EM.add_periodic_timer(1) do
puts "LATENCY: #{Time.now.to_f - @last}"
@last = Time.now.to_f
end
- 1. Le richieste - Come sapere se stai ricevendo un 404
- 2. java come sapere se stai usando javaw.exe contro java.exe
- 3. Come puoi sapere se uno stream è chiuso?
- 4. Lasciando l'app per Android con pulsante indietro
- 5. Perché alcuni linguaggi di programmazione ti impediscono di modificare l'array che stai trasmettendo?
- 6. Come si integrano EventMachine & Rails?
- 7. Come puoi sapere qual è l'attività di lancio principale?
- 8. Come puoi sapere quando è stato disegnato un layout?
- 9. Come fai a sapere se una libreria JavaScript che stai usando interromperà il tuo codice dopo un aggiornamento?
- 10. Puoi usare canvas.getContext ('3d')? Se sì, come?
- 11. Ti fideresti di mono come piattaforma per creare un avvio?
- 12. Ruby EventMachine testing
- 13. Lasciando directory .....?
- 14. EventMachine genera close_notify su close_connection se è stato eseguito tls_start?
- 15. Determinare quale rubygem stai utilizzando
- 16. Android Animation lasciando artefatti
- 17. Lasciando scorrere per eliminare il pulsante apri sulla cella uitableview, quindi tornare indietro causa l'arresto
- 18. Lasciando una query multipla PHP continua se si verificano errori
- 19. Come sapere se un assembly .NET è dinamico?
- 20. come sapere se una stringa $ termina con ','?
- 21. Come sapere se altri thread hanno finito?
- 22. Come sapere se una stringa contiene accenti
- 23. Come sapere se l'oggetto raphael è nascosto?
- 24. Come sapere se NSManagedObject è stato salvato?
- 25. Come sapere se WKWebView sta riproducendo audio?
- 26. Come sapere se __uint128_t è definito
- 27. Come sapere se sono installati più Django
- 28. Come sapere se urllib.urlretrieve ha esito positivo?
- 29. Python: come sostituire e sapere se abbinato
- 30. Come sapere se un elemento è reso?
Sarebbe davvero d'aiuto se fornissi un campione condensato del tuo codice che mostri ciò che hai provato. –