关于如何从客户端执行Python脚本,有很多答案。我有兴趣查明是否可以从服务器端执行脚本并检查执行是否成功完成。假设我正在使用两侧使用JavaScript的Meteor堆栈,并且需要从后端触发一堆Python脚本任务。如何从服务器端执行Python脚本Javascript
2
A
回答
0
流星在NodeJS容器内运行。因此,您应该可以使用像execSync这样的包来为您完成此任务。
3
如果您需要python脚本项目,最常见的方法是通过消息队列连接python和meteor。例如,流星发生的行为应该触发一些python脚本。你发送消息到python队列。 Python侦听队列以及何时获取消息启动任务。任务完成后,python应该发送消息到队列中,也许还有任务或其他结果。
//Meteor server side
var amqp = Meteor.require('amqp');
var connection = amqp.createConnection(amqpCredentials);
var Fiber = Npm.require("fibers");
connection.on('ready', function(){
connection.queue(queueName, {autoDelete: false}, function(queue){
console.log(' [*] Waiting for messages. To exit press CTRL+C')
queue.subscribe(function(msg){
console.log(" [x] Received %s", msg.data.toString('utf-8'));
var msg = EJSON.parse(msg.data);
if(msg.type === 'news'){
Fiber(function(){News.insert(msg.data).run()});
}
});
});
});
在Python的一边,你应该运行任务并添加队列的侦听器。 你可以阅读有关的RabbitMQ和Python客户端在官方文档RabbitMQ tutor
+0
你能提供一个简单的例子或指向一个好的资源吗? – pilot
2
你可以做到这一点简单地用命令行invokation,以同样的方式在任何节点应用:
var exec = Npm.require('child_process').exec;
var Fiber = Npm.require('fibers');
new Fiber(function(){
exec("python command", function (error, stdout, stderr) {
...
});
}).run();
相关问题
- 1. 如何使用jQuery执行服务器端Python脚本?
- 2. 执行python脚本的python服务器
- 3. 如何从客户端执行服务器上的脚本?
- 4. 执行PHP脚本服务器端
- 5. 如何从Javascript执行Python脚本?
- 6. 日程安排Javascript服务器端脚本执行
- 7. 执行从服务器端
- 8. 从节点服务器执行脚本
- 9. 如何在ios解析服务器端执行php脚本?
- 10. 从ubuntu服务器执行/运行python脚本
- 11. 从javascript调用服务器端python脚本
- 12. 如何使用JavaScript执行基本的服务器端操作?
- 13. 流星如何运行服务器端python脚本
- 14. 如何根据ssh连接的服务器执行python脚本?
- 15. 执行从服务器到服务器的脚本php
- 16. 如何从服务器端执行javascript方法?
- 17. Python脚本从服务器执行时崩溃
- 18. 从Unix的终端执行python脚本
- 19. 的Javascript脚本需要服务器端
- 20. 脚本与服务器端Javascript
- 21. 服务器端脚本中的JavaScript
- 22. 如何从网页执行服务器上的脚本?
- 23. Javascript:如何在服务器端执行(后端)?
- 24. 要执行服务器端脚本的文本消息
- 25. d3js服务器端渲染如何为客户端执行插入脚本
- 26. 如何做服务器端脚本
- 27. 在IIS服务器上执行javascript(服务器端)
- 28. 在Ubuntu服务器上执行/运行python脚本
- 29. 跨服务器脚本执行oracle
- 30. 操纵从服务器端脚本
“警告为开发机shell脚本只有不要使用生产服务器。“ - 这个评论在他们的README文件中稍微令人担忧。 – pilot