2015-01-03 26 views
5

meteor uygulamasının, meteor sunucu tarafı koduyla aynı makinede bulunan python komut dosyasını kullanmanın en iyi yolu nedir? Tek istediğim meteor'ın pythondaki bir işleve bir dizgeyi aktarması ve python'un meteor'a bir ip getirmesi.Meteor'da Python komut dosyalarını arama

Python monitörünü mongodb kullanabileceğimi ve değerleri ayıklayabileceğimi ve hesaplandıktan sonra mongodb'a geri yazabileceğimi düşünüyordum, ama meteor'ın doğrudan python işlevini çağırması çok daha temiz görünüyor.

DDP'ye yeniyim ve python-meteor (https://github.com/hharnisc/python-meteor) ile çok uzağa gidemedim.

ZeroRPC (http://zerorpc.dotcloud.com/) yapmanın iyi bir yolu mu?

Teşekkürler.

cevap

6

Harika bir soru.

DDP ve ZeroRPC kullanmayı ve hatta Python yazmayı doğrudan Mongo'ya yazmayı inceledim.

Meteor ve Python konuşmasına sahip olmanın en kolay yolu, bir flask uygulaması olarak python komut dosyasını ayarlamak ve daha sonra flask uygulamasına bir API eklemek ve API aracılığıyla Python'a Meteor konuşması yapmaktı.

kullandığım bu kurulum çalışma almak için:

böyle temel bir şey inşa edebilir test etmek Meteor HTTP paketi (python betiği metni büyük harfe dönüştürür):

Meteor'da, API'yi aramayı sınamak için HTTP.get kullanın.

sonra Meteor gelen çağrı muhtemelen benzer görünümde olacaktır lokal olarak herşeyi çalıştırıyorsanız: Ben Meteor ve ZeroRPC kullanmaya çalıştı Meteor.http.get("http://127.0.0.1:5000/test");

+1

ve sadece ikincisi Meteor 1.3 ve komutunu kullanarak yüklü 'meteor UÖM'sini alamadım install --save zerorpc'. Meteor 1.3, ZeroRPC'nin bir bağımlılığı olan libmsg'yi yükleyen bazı [sorunlar] (https://github.com/meteor/meteor/issues/5124) içeren Düğüm 0.10.43'ü kullanır. Bu çözüm, yerel bir Meteor paketi kullandığı için çok daha basit görünüyor. Teşekkürler! – forgetso

2

Geçmişte RestFul yaklaşımını kullanarak benzer bir şeyin uygulanmasında deneyimim var. Dönüş tepki ile ilgili Python/işlevlerini çağıran istekleri işleme sonra, sunucudan (Flask olarak) Flask Python dinlendirici API uç noktaları bir http isteği gönderme, Meteor observeChanges tetikleyerek

, Meteor sonra işlemek buna göre geri arama.

Orada da önce piton-meteor kullanarak kabul var child_process vb DDP kullanarak gibi düşünebiliriz elbette birçok diğer yaklaşımlar vardır ancak hem (dinlendirici yaklaşım daha taşınabilir ve ölçeklenebilir hesaplarına aldıktan sonra Aynı makinede veya hatta farklı makinelerde ... daha fazla istekleri ele almak için sunucularınızı genişletebilirsiniz vb.).

Herkesin kullanım durumu farklıdır ve RestFul uygulamasının kullanım durumum için en uygun olduğunu buldum. Umarım cevabımı faydalı bulursunuz ve değerlendirme seçeneklerinizi genişletirsiniz ve durumunuz için en uygun olanı seçersiniz. İyi şanslar.

İlgili konular