ile Ruby gibi çağrıları çağırıyor XMPP ile çalışıyorum ve her mesajın gönderilmesi durumunda etkinleştirilmiş bir mesaj geri çağırma var. Amacım, mesajla ulaşan verileri geri aramada bir API'ye göndermek ve XMPP istemcisini kullanarak yanıtı geri vermek.Eş zamansız yöntemler Ajax
- Kullanıcı tipi mesajı (Tarayıcı Sohbet İstemci)
- İleti
- İleti
- Tepki sohbet istemcisi geri gönderilir
- Yanıtı alındığında API gönderilir XMPP aracılığıyla sunucuya ulaşır .
admin_muc_client.activate_message_callbacks do |m|
sender = m.from.resource
room_slug = m.from.node
message = m.body
r = HTTParty.get('http://example.com/api/v1/query?msg=message')
Rails.logger.debug(r.inspect)
admin_muc_client.send_message("Message #{r.body}") if m.from.resource != 'admin'
end
aşağıdaki gibi bunun için benim kodudur
Buradaki endişe geri arama evented ve API isteği bir engelleme çağrısı olacağından tüm bu uygulama için bir darboğaz haline gelebilir olduğunu . Javascript için AJAX gibi bir şey kullanmayı tercih ederim, bu da isteği tetikleyecek ve yanıt verilebildiği zaman veri gönderecektir. Bunu Ruby'de nasıl uygulayabilirim?
Yangın ve boşaltma işlemleri için kullanılan araçlar gibi görünen delayed_job ve backgroundrb'ye baktım. Yanıtla senkronize olmayan bir şekilde bir geri bildirimi etkinleştiren bir şeye ihtiyacım var.
İstediğim eşzamansız davranışa nasıl ulaşılacağına ilişkin bazı yardımları gerçekten takdir ediyorum. Ayrıca, önemli karmaşıklıkların eklendiğini düşündüğüm RabbitMQ gibi mesaj sıralarına aşinayım.
Müthiş bir şans verecektir. Belki budur. – Sid
Bulduğum şey, bu konsolda çalışır, ancak geliştirme modunda uygulamada çalıştırıldığında görevi sıraya eklemez. BTW Dev modda yolcu ve apache koşuyorum. – Sid