span8
span4
这个例子演示了如何使用一个控制器工作区来利用多个FME引擎。使用此方法,您可以在多个引擎上运行一系列作业,并在单个工作区中执行下游处理。
在2017.1年,我们有一些新功能FMEServerJobSubmitter这现在消除了对FMEServerJobWaiter转换器的需要,并使您能够使用尽可能多的可用引擎。特别是变压器中有两个参数,它们决定了变压器的行为:
警告:如果有一个热机,提交工作被设置为平行和等待作业完成被设置为是的, FME服务器将死锁,您将不得不手动停止队列和作业来释放引擎。
提交工作: | |||
平行 | 顺序 | ||
等待作业完成: | 是的 |
等待所有作业输入转换器,然后立即提交它们。当它们全部完成时,向转换器发送特性。 *这将允许FME服务器使用尽可能多的引擎,但如果你只有一个引擎,所有的子任务将被卡在队列中。 |
在提交下一个作业之前,等待作业完成并释放特性。这个组合将启动一个子引擎来处理子工作区 *如果您想为子工作区和父工作区使用一个引擎,请使用此设置。 |
没有 | 等待所有作业输入转换器,立即提交它们,完成后立即发布特性。 | 一收到作业就提交,一提交特性就发布。 |
另一个需要注意的新特性是摘要端口。现在可以使用它向FMEServerEmailGenerator提供信息,这样就可以发送包含提交的作业信息的消息。摘要端口充当一个阻塞转换器,仅当所有作业都以失败或成功状态完成时才会发布一个特性。
multiplejobsubmittersallengines.fmw
在这个场景中包括allengines.fmw,我们将使用FMEServerJobSubmitter,将提交作业作为并行处理,并等待作业完成为Yes。
这个场景使用multiplejobsubmittersallengines。fmw to submit jobs to new engines so you can utilize the full potential of FME Server.这个工作空间有几个假设:1)它假设您希望提交具有不同参数的不同作业;2)您希望在作业完成时得到通知,这样您就可以处理依赖于它的某些东西。
一)这里需要多个fmeserverjobsubmitter,以便能够解释惟一的参数和工作空间。
B) FMEServerJobSumbitters提交的作业参数必须设置为平行等待任务完成没有.即使我们想要等待作业的状态,因为FMEServerJobSumbitters正在阻塞转换器,它们不会让工作空间中的任何其他东西处理,直到它们完成该特性。
C(可选)AttributeCreators创建一个保存工作区名称的属性,这样就可以在FMEServerJobSubmitter之后对作业进行相应的过滤。
D) FeatureHolder:此步骤允许在将所有作业传递到FMEServerJobWaiter之前对其进行累积。如果它们不是累积的,FMEServerJobWaiter的触发可能会导致FMEServerJobSubmitter在我们希望作业尽快发送时等待特性持有者完成。
E) FMEServerJobWaiter:这将轮询服务器以确定任务何时完成及其状态。
F(可选)接下来,我们找到作业的状态,如果作业失败,我们就取消这个过程。
处理输出(2个选项):
G)聚合器(Aggregator):聚合器有两个功能:1)在发布一个特性之前收集所有特性;2)减少特性的数量,以便一次性启动一个新进程。
或
HTestFilter根据工作空间进行筛选,这样您就可以针对不同的作业启动不同的进程。
为了得到工作流问题的通知,您可以设置控制器工作区(allengines)。亚搏在线fmw, and multiplejobsubmittersallengines.fmw) to publish to a topic on failure, and add an email subscription.请参阅我们的教程系列FME服务器中的电子邮件更多信息-具体来说,工作空间完成时发送电子邮件.
您还可以通过使用通知服务来自动启动工作空间——可能是监视某个目录的更改,或者响应传入的电子邮件附件。通过这种方式,FME服务器可以自动将新数据加载到您的数据库中,对其进行处理,创建web地图块并将其上载到托管位置(如Amazon S3)。
©2019安全亚搏在线软件公司法律