多进程Alchemy Catalyst异步执行
本文关键字:执行 异步 Catalyst Alchemy 多进程 | 更新日期: 2023-09-27 17:59:47
我正在尝试执行几个进程,这些进程使用参数运行Alchemy Catalyst并进行一些操作(使用Catalyst API)。问题是异步运行它们。
有8个处理器的机器——在执行开始时(在使用2个进程的程序中),我得到了2个运行Catalyst程序的程序。你可以通过获取CPU时间来看到它们在运行->参见(第一张图片)图片。几秒钟后,其中一个突然被阻止,再也没有CPU时间了(第二张图片)。一直到第一道工序完成他的工作。
我感觉Catalyst不支持多处理。
但我无法向自己解释如何利用Catalyst的两个不同实例。非常感谢。
class Program
{
static void Main(string[] args)
{
Japanese jp = new Japanese();
Brasilian br = new Brasilian();
jp.startNPprocess();
br.startNPprocess();
}
}
public class Japanese
{
public void startNPprocess()
{
string brz = @"D:'Builder'master'Languages'Destination_TTK'jap";
string brz1 = "D:''Builder''master''Languages''TTK'x64''jap.ttk";
string brz2 = "D:''Builder''master''Languages''Destination_TTK''TTK''jap.ttk";
string pathtoCatalyst = @"C:'Program Files (x86)'Alchemy Software'Catalyst 10.0'Catalyst.exe";
string args = String.Format("/M Vasili TTKName:{0} FromFolder:{1} SourceLang:English(United States) TargetLang:Japanese", brz2, brz);
Process pr = new Process();
ProcessStartInfo prs = new ProcessStartInfo();
prs.FileName = pathtoCatalyst;
prs.Arguments = args;
pr.StartInfo = prs;
pr.Start();
}
}
}
class Brasilian
{
public void startNPprocess()
{
string brz = @"D:'Builder'master'Languages'Destination_TTK'brz";
string brz1 = "D:''Builder''master''Languages''TTK'x64''brz.ttk";
string brz2 = "D:''Builder''master''Languages''Destination_TTK''TTK''brz.ttk";
string pathtoCatalyst = @"C:'Program Files (x86)'Alchemy Software'Catalyst 10.0'Catalyst.exe";
string args = String.Format("/M Vasili TTKName:{0} FromFolder:{1} SourceLang:English(United States) TargetLang:Portuguese(Brazil)", brz2, brz);
// Prepare the process to run
Process pr = new Process();
ProcessStartInfo prs = new ProcessStartInfo();
prs.FileName = pathtoCatalyst;
prs.Arguments = args;
pr.StartInfo = prs;
pr.Start();
}
}
第一图像
第二个图像
在与Catalyst支持进行了大量讨论并进行了大量研究之后,无法使用Catalyst的API实现多处理执行。
Alchemy Catalyst程序使用客户端-服务器模型来检查您是否拥有有效的许可证。验证完成后,您可以访问程序。如果你想通过API访问程序的功能,你不需要许可证。在实现中存在一些错误,让您可以选择免费使用''validate''getstatistics,但有一个限制-一个Catalyst实例正在运行。