斯潘8
斯潘4
你好
我想知道是否有一种方法可以在一个循环中启动相同的FME工作区(输入不同的参数),并确保下一个迭代等待上一个迭代的翻译完成?
我有一个python程序,基本上是这样的:
FCISTIS= =‘A’,'b']fc list:process=subprocess.popen(fme.exe workspace--featureclass'fc')process.wait()中fc的功能类列表
我的FME工作区的目的是将一些数据写入数据库。python程序在第一次迭代中用功能类“a”启动这个工作区。然而,一旦FME初始化并开始实际翻译,这个过程似乎是为Python完成的,它从第二次迭代开始。这将导致初始化的工作区停止,并使用功能类“b”重新初始化。最后,我的数据库中只有最后一个类“b”。
我也试过了
对于fclist:log=subprocess.check_output(fme.exe workspace--featureclass'fc'),而“翻译完成”不在log:pass中
以及一个在FME中编写“翻译完成”的python关闭脚本。再一次,下一个迭代开始得很早,并且太早地停止前一个迭代,因为“log”在数据写入数据库之前得到“translation done”。
有人知道如何解决这个问题吗?
最好的问候,
安德烈
因为python脚本中包含了更多的逻辑,与WorkspaceRunner相比,它提供了更多的灵活性。然而,如果无法按顺序启动多个工作区,否则,我会考虑将WorkspaceRunner作为备选方案。
@我不太明白你提出的解决方案。你能给我解释一下吗?
?2019安全亚搏在线软件公司|合法的