FME服务器(在我的例子中是2018.1.1.2)不能按要求在Python版本(2.7/3.4)之间切换,这表明存在一个缺陷(除非显式地不支持它,然后它应该不允许发布/调度)。
这个错误不应该被记录和修复吗?
错误:
工作空间需要Python版本%0,但是Python版本%1已经加载 |
嗨@tino非常感谢你的帮助。调查这个问题时,我意识到我们实际上是在处理版本问题。我忽略了一个事实,我们有一个共享的FME服务器和我的一些同事仍然运行工作台2.7解释器集。这是,如果别人上传的工作台在服务器2.7和发生在引擎上运行下面的一个3.4 +第二个就会打破,所以这个问题没有多少与工作区减免,但跑之前,即使是来自一个不同的用户和不同的过程。我现在明白了。
你运行什么FME服务器版本?
这应该是固定在最近的版本:
是的,当出现这样的不匹配时,引擎应该知道尝试重新加载正确的python解释器。这个问题,你看到的是一个问题,早些时候出现在一些FME Server 2018 beta版本的:我们有固定为2018.0(18310年建立和更新)以及2018.1构建18481新(从日志文件时,它看上去就像你看到这对构建18459)。对于这个修复,当引擎遇到这样的python版本不匹配时,它将自动重新启动引擎,以便加载正确的解释器。
所以FME服务器应该能够重新加载适当的解释器。
如果你用的是老版本,只需修改fmeServerConfig.txt:
MAX_TRANSACTION_RESULT_SUCCESSES = 100
MAX_TRANSACTION_RESULT_FAILURES = 10
都为1。这迫使引擎在每个进程之后重新启动。(这只需要几分之一秒,所以在大多数情况下不应该发生速度回归)。
我面临着同样的问题,我可以保证我在相同的引擎上两次、三次、四次检查了“与以前使用的Python版本不同的Python版本”
是否可能使用python2和python3混合使用工作区?
在同一个引擎上,当一个工作空间请求一个与以前使用的Python版本不同的Python版本时,FME服务器有一个已知的问题。
更多的细节在这里(也可以考虑投票的想法,以改善这一点):https://knowledge.亚搏在线safe.com/idea/36272/allow-different-fme-cloud-python-interpreter.html