我使用一个节点服务器来运行python脚本。我正在使用pythonshell包来运行它们,这很好。这里是我正在运行的server.js
文件:
app.get('/start/:fileName', function(req, res) {
let fileName = req.params.fileName;
console.log(fileName)
PythonShell.run(`./python_scripts/${fileName}`, function (err,results) {
console.log('results ',results);
if (err) throw err;
console.log('finished');
});
});
在另一个文件main.js
中,我有以下命令:
function fetchStartEndpoint(fileName) {
fetch(`/start/${fileName}`)
.catch(error => console.log(error));
}``
当一个按钮被点击时,我调用fetchStartEndpoint
这一切工作正常,但我想使用多个按钮来运行多个脚本。当我单击按钮时,脚本将运行,但当我单击其他按钮以运行其他脚本时,第一个脚本将继续运行。我想让它结束然后运行第二个。除了重新启动服务器之外,有没有其他方法可以重写初始脚本并运行第二个脚本
我在python-shell快速浏览自述文件,在我看来,在shell实例上调用
end
是停止运行脚本的方法:运行(脚本、选项、回调)
此方法还返回PythonShell实例
.end(回调)
关闭stdin流,允许Python脚本完成并退出。当进程终止时,将调用可选回调
基于此,我认为这是可行的:
相关问题 更多 >
编程相关推荐