2010-12-01 11 views
11

Raylar 2.3.X'de bir istek oluşturulduktan ve istek sahibine iade edildikten sonra yeni bir komut zinciri başlatılabilir mi?Raylar 2.3.X - İstek verildikten ve iade edildikten sonra kod çalıştırılsın mı?

Diğer taraftaki eşzamansız bir API ile çalışabilmek için bu özelliğe ihtiyacım var: İsteklerine bir yanıt beklerler ve bu yanıt bittikten sonra raylar uygulamasının onlara yeni bir http isteği göndermesi gerekir. API) ...

Burada olasılıklar nelerdir? After_render kanca gibi bir şey var mı? Konu veya arka plan görevlerinden yararlanmalı mıyım? Bu nasıl yapılabilir?

Ben

Kind :-) bazı çözümler için çok memnun olurum

UPDATE bakımından: İade-Code (örneğin 200.) Diğer aramalar yürütülür önce istek sahibi gönderilmesi gerekmektedir

cevap

11

yapılacak en kolay şey, yeni bir iş parçacığı spawn edilir . Bu, hafif bir çağrı olduğunu ve gelişmiş hata günlüğüne veya yeniden deneme mantığına ihtiyacınız olmadığını varsayar.

Thread.new do 
    puts "call the api" 
end 
+0

evet iyi bir fikir ... Şu anda bir ray eklentisi olarak bunu yapan https://github.com/tra/spawn adresini kullanıyorum – Bijan

1

Yanlış olabilirim, ancak bir dönüş yapmazsanız kod yürütme işlemden sonra devam ettiğini düşünüyorum. Bu nedenle, iki kez oluşturmaya çalışırsanız bir hata alırsınız ..

1

Eğer html oluşturuyor musunuz? Öyleyse, denetleyicinize yeni bir istekte bulunmak ve yapmanız gereken diğer eylemi başlatmak için bazı javascript'i işlenen sayfaya ekleyebilirsin.

+0

nope XML tabanlı bir API'ye erişiyorum ... Böylece js hack'ler için bir şans yok .. Sunucumun takip isteğini yapması gerekiyor. – Bijan

+0

Bummer. Oldukça zorlayıcı seslerle çalıştığın diğer API'yi söylemeliyim! – CharlieMezak

İlgili konular