斯潘8
斯潘4
嗨,大家好,
我在FME服务器上遇到一个与主题有关的问题:
我有一个工作区(控制器),通过作业提交者触发另一个工作区(工人)。
如果成功的话,工人会在主题“记者数据库”上发表文章。它发送一些JSON代码。
案例1:当我通过控制器运行工人时,主题没有“激活”。
案例2:如果我通过Web浏览器界面直接启动Worker,它正确运行并激活主题。
我注意到这两种方法有区别(见图)。在Rigth(案例2)上,有一些FME指令和通知管理器指令,而案例1中没有任何指令…
有人知道我怎样才能解决1号案件吗?
谢谢您!
劳伦特
如果我理解正确,几天前我还得处理一个类似的问题。
我的问题是,我的工作区被发布到JobSubmitter服务,并设置为触发关于成功或失败的两个主题。
如果我使用FME服务器Web界面运行工作区,使用JobSubmitter服务并正确触发主题。
然而,如果工作区是通过fmeserverjobsubmitter转换器运行的,使用REST服务,不会触发主题,因为它们与JobSubmitter服务相关联。
我通过不使用fmeserverjobsubmitter和使用httpcaller来解决这个问题:
完整请求URL:
$(ccd_fme_server_url)/fmejobsubmitter/$(ccd_fme_repository)/$(ccd_fme_ws_conversion)?opt_serviceMode=async&opt_responseformat=json&tm_priority=$(ccd_fme_job_priority)
希望这会有所帮助。
当做,
拉里
这是有道理的。我怀疑你是对的作业提交人以及转换/命令/提交服务。
我认为问题在于,RESTAPI假定您将在JSON的fmedirectives部分中明确指定您自己使用发布的参数提交的任何主题,等。
从API帮助,下面是一个例子:
“FME指令”:,“nmdirectives”:“failuretopics”:[],“SuccessTopics”:[],“tmdirectives”:“rtc”:假,“description”:“这是我的描述”,“优先权”:5,“tag”:“linux”,“publishedparameters”:[“name”:“maxy”,“value”:“42”,“name”:“主题”,“value”:[“机场”,“Cenart”]],“分段”:“休息服务”
正如你所看到的,以这种方式执行工作区时,必须明确设置“failuretopics”和“successtopics”。
嗨罗朗@刘
你说…
案例1:当我通过控制器运行工人时,主题没有“激活”。
我的问题是,你是如何运行控制器的?您是在FME桌面上运行它(即在工作台内)还是在FME服务器Web界面上运行它?
区别在于,如果在FME工作台中运行控制器,然后它立即运行,但工人们却排起了长队。如果在FME服务器中运行控制器,那么控制器将被放入队列中,但工人们马上就被解雇了。
这种差异影响指令的应用方式。我不知道,但它也可能影响通知。所以我想看看你JPVO)正在运行控制器,如果您以不同的方式运行控制器,则会有差异。
当做
作记号
嗨,马克,
谢谢你的回答。
我尝试在服务器和桌面上运行控制器。结果是一样的。
我还试图发表一篇关于失败的文章。我也有同样的观察结果。当我运行控制器时,主题未激活。当我直接跑的时候,主题被激活并发送电子邮件。
这真的很烦人,因为如果我的工作区崩溃了,我就不能收到电子邮件…你对我如何解决这个问题有什么建议吗?
事先谢谢。
劳伦特
恐怕我没有,我在数据库中找不到任何解释。所以我要求我们的服务器支持团队看看这个问题,看看他们是否能提供帮助。对给您带来的不便深表歉意。我希望他们很快能联系上。
我找到了另一个解决办法。和我的工人一起,我可以在单独的文件夹中创建JSON文件。我可以在这个文件夹中添加一个目录监视,当文件夹中进行修改时,它会发布到主题中…不太好,但应该管用…
如果有人有一个最好的主意,不要犹豫,分享。谢谢!
嗨,戴维,
谢谢你的回答。不幸的是,我的作业提交者设置为“等待作业”=否。所以我认为你的方法行不通…
你知道是否还有其他可能性吗?也许我可以使用shutdown python脚本?在python代码中,有没有一种方法可以知道翻译是否成功?
?2019安全亚搏在线软件公司|合法的