运行带有预加载数据的Python脚本的主机服务器

问题描述 投票:0回答:1

我有一个 python 脚本(假设它是一个文件),有 3 个部分:
(1)加载外部库
(2) 加载大文件的内容
(3)算法
第 (3) 部分需要 100 毫秒,而第 (1) 和 (2) 部分则需要 10 秒。

我有一个执行上面 Python 脚本的 C# 程序:

        Process process = new Process();
        process.StartInfo = new ProcessStartInfo(pythonPath, fileNameWithArg)
        {
            RedirectStandardOutput = true,
            CreateNoWindow = true,
            UseShellExecute = false,
            RedirectStandardError = true
        };
        process.Start();

        string result = process.StandardOutput.ReadToEnd();

我正在传递一些参数并等待 Python 脚本的响应,如上面所示。

如何才能更好地实现我的 Python 脚本的 (1) 和 (2) 部分,而不必在每次后续调用时加载?我只对实际算法(第 3 节)感兴趣,因为第(1)和(2)节是不变的。因此,我不想再等待 10 秒来完成第 (1) 和 (2) 部分,而是更愿意调用我的 Python 脚本并在 100 毫秒后收到响应。我很高兴第一次调用 python 脚本需要 10 秒+,但每次连续调用只需要 100 毫秒。

python c# .net server python.net
1个回答
0
投票

您可以使Python脚本持久运行,运行(1)一次,并将(2)保留在进程内存中。

然后就可以使用标准输入等进程间通信的方式在Python进程和.NET进程之间进行通信。

© www.soinside.com 2019 - 2024. All rights reserved.