我已经在远程机器上设置了一个Prefect后端服务器。通过修改配置,我能够将来自不同其他机器的本地代理连接到服务器。在。prefect文件夹中的Toml:
[server]
endpoint = "http://server_ip:port/graphql"
[server.ui]
apollo_url = "http://server_ip:port/graphql"
目前,我可以在每台机器上创建一个本地代理,注册流并在各自的机器上运行它们。现在我想有一台中央计算机,在那里我可以开发和注册我的流程。不幸的是,当我在机器B上运行流时,在机器a上注册,我得到一个"模块未找到";错误消息。我了解到,这个错误来自于只在本地存储中查找流的机器。如果不使用Git、GCS等,是否可以使用NAS来存储所有流,并且所有机器都可以使用它来访问流?如果是,那么必须如何配置流、代理和存储?不幸的是,我没有找到任何关于这方面的好的文档。许多应用程序使用Docker代理并有类似的问题,或者直接使用远程存储。
在核心库中没有可用的本机NAS存储接口,但是我们提供了如何解决ModuleNorFoundError
的配方和指导-查看这个Discourse wiki页面,其中深入讨论了如何解决
我能找到一个解决我的答案。前提条件是共享存储(例如NAS),它可以在相同路径下的所有机器上访问。在此存储中,流以.py文件的形式存储。流和使用的本地代理不需要任何特殊准备。我只是用
注册了我的流prefect register --project "PREFECT_PROJECT_NAME" --path "PATH_TO_.py"
在CLI。我能够从机器A部署所有流,并在任何其他机器上从/调度它们