西班牙
斯潘4
大家好。我一直面临着提供一个FME服务器工作区的挑战,这个工作区可以解析作业日志文件中的所有或部分摘要统计信息,以便将其发布到Slack和电子邮件通知中。
我的具体问题是,如何确保在服务器上的工作区完成后调用正确的作业id日志文件?
这些服务器工作区是几个独立运行的工作区,它们从同一个存储库中彼此独立地运行,以使用更新的记录更新PostGIS表。
我现在有一个工作区,它可以成功地解析所写的功能和添加摘要的记录数,但它是在桌面上的一个旧的日志文件上运行的。我想让服务器识别一个新的作业id日志文件,将该文件调用到此已发布的工作区,分析必要的信息,将其写入MSWord模板或模板电子邮件,并作为更新通知发送出去。
*我知道Python可能是执行此工作流的最佳实践,但是除了Python和仅使用我的FME Pro工作台之外,我如何使用桌面上可用的和发布到服务器亚搏在线(FME Cloud)实例来实现这一点。
**我所有的版本都是2018.1版本18520。
我可以在一个关闭的Python脚本中在工作台的工作区内完成这项工作。工作区发布到本地托管的FME服务器。不是FME云。我想看看我是否可以从FME服务器通知邮件中做同样的事情。
导入smtplib、fmeobjects、email.utils、re
从email.MIMEText导入MIMEText
emailTo:“”
电子邮件发件人=“”
smtpServer=“smtp.######.####”
featureswrited=str(FME_featureswrited)
featurelistformatted:“”
对于featureswrited.split(“,”)中的项:
featurelistformatted=featurelistformatted+item+“\n”
featureswrited=str(featurelistformatted)
featureswrited=featureswrited.replace(“{”,”)
featureswrited=featureswrited.replace(“}”,“”)
featureswrited=featureswrited.replace(“地理信息系统”,“地理信息系统”)
featureswrited=featureswrited.replace(“'”,“”)
featureswrited=featureswrited.replace(“:”,“\t\t”)
featureswrited=re.sub('L\n','Features\n',featureswrited)
msg=MIMEText(“工作区成功。\n\n编写了以下功能:”+“\n”+featureswrited+“\n\n”)
msg[“To”]=email.utils.formataddr((“收件人”,emailTo))
msg[“From”]=email.utils.formataddr((“FME服务器”,emailFrom))
状态=FME U状态
如果状态=0:
msg[“Subject”]=“错误-加载失败”
其他:
msg[“Subject”]=“加载成功”
服务器=smtplib.SMTP(SMTP server)
尝试:
server.sendmail(emailFrom,emailTo.split(“,”,msg.as_string())
最后:
服务器。退出()
您好!@tjpollard公司,
若要针对所有新日志文件运行工作区,可能需要安排正在分析日志文件的作业,并跟踪上次运行期间处理的日志文件。一个简单的方法是在翻译过程中用FeatureWriter将已处理到SQLite DB的作业id写出。然后,您可以在下一个转换开始时检查SQLite,以查看哪个是最后处理的作业。
有关从日志文件中获取的信息,还可以查看允许您检查作业状态的FME服务器REST API调用。除了状态(成功/失败)之外,响应还返回输出特性的数量。在本页上查找“检查作业状态”:
https://playground.fmeserver.com/using-the-rest-api/jobs网站/
希望这有帮助!
仪表板/日志刮削1个答案
如何通过电子邮件将作业日志或作业日志统计信息从FME服务器发送给用户?3个答案
关闭FME服务器上的信息记录2个答案
FME服务器浏览器差异2个答案
有人知道.mdmp文件的来源吗7个答案
?2019安全亚搏在线软件公司|合法的