關於如何從客戶端執行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