rocosos meteoritos meteorito metalicos los lluvia composicion caracteristicas python meteor

python - meteoritos - La mejor forma de hablar de pitón y meteorito



meteoritos metalicos (2)

Si el script de Python está en el mismo servidor, puede llamarlo como en una aplicación Node.js normal:

var exec = Npm.require(''child_process'').exec; var Fiber = Npm.require(''fibers''); var Future = Npm.require(''fibers/future''); Meteor.methods({ callPython: function() { var fut = new Future(); exec(''pythonScriptCommand with parameters'', function (error, stdout, stderr) { // if you want to write to Mongo in this callback // you need to get yourself a Fiber new Fiber(function() { ... fut.return(''Python was here''); }).run(); }); return fut.wait(); }, });

Me gustaría construir un proyecto en meteor (versión 0.8) que llame a un script de python que a su vez envíe algunos datos a meteor . No estoy seguro de cuál es la mejor práctica para hacer esto en este momento.

DDP se ve bien :
"Clientes que se pueden usar para comunicarse con Meteor a través de su protocolo DDP, desde fuera de la pila Meteor". Pero la implementación de python parece inacabada: python-ddp-client

Creo que también podría escribir directamente a mongodb desde python pero no parece la mejor idea:

¿Me estoy perdiendo algo? ¿Hay una mejor manera de hacer esto?


Las otras preguntas con las que se vinculó están muy desactualizadas (una tiene casi dos años).

Solo debe escribir directamente a MongoDB desde python, si no necesita llamar a los métodos del servidor. De hecho, así es como varios servidores Meteor (que equilibran la carga de la misma aplicación) se comunican entre sí. Esto se implementa haciendo que los servidores de Meteor completen el oplog de Mongo e incorporen las operaciones de la base de datos de inmediato.

Esto se implementó completamente en Meteor versión 0.7.2.

Cuando escribe en la base de datos, puede usar las operaciones típicas de observe u observe observeChanges en las colecciones para que el servidor Meteor haga las cosas.

Otra forma de hacer llamadas RPC es usar un bus de mensajería como ZeroMQ. Estoy usando esto para llamar algoritmos de aprendizaje automático en Python de Meteor. Esto admite procesos de Python en diferentes máquinas, equilibrio de carga y similares. Consulte la siguiente publicación sobre cómo hacerlo:

http://ianhinsdale.com/code/2013/12/08/communicating-between-nodejs-and-python/