配置客户端-服务器通信
您可以通过设置环境变量和更新位于客户计算机上的 MATLAB® Production Server™ 附加功能配置文件来覆盖 MATLAB Production Server 附加功能用于客户端-服务器通信的默认配置。如果您的网络可靠,如果您的应用程序对时间要求很高,或者您想要更改打包成独立可执行文件的附加功能的服务器信息,那么您可能需要覆盖默认配置。
配置超时和重试
当您使用 MATLAB Client for MATLAB Production Server 时,MATLAB Production Server 附加功能中的代理函数会与部署到 MATLAB Production Server 实例的存档的函数进行通信。如果服务器发送响应的时间过长,则客户端请求超时。当发生超时时,附加功能可以报告错误或默默尝试再次发送请求。
MATLAB Production Server 附加功能支持两种超时类型和一种重试策略。要覆盖默认超时时间和默认请求重试策略,请设置 MATLAB Production Server 附加环境变量。
设置初始 TCP 连接超时
将 PRODSERVER_ADDON_CONNECT_TIMEOUT
环境变量设置为附加功能函数在尝试连接到 MATLAB Production Server 实例时必须等待的最长秒数,超过此秒数即超时。这是初始 TCP 连接超时。
默认情况下,操作系统将 TCP 连接超时值通常设置为 60 秒或更短,并且可能会限制您可以设置的值。
通常,您不需要设置该值。如果服务器在设定的时间段内没有响应,附加功能将生成 MPS:MATLAB:AddOn:RequestTimeout
错误。
设置函数处理超时
将 PRODSERVER_ADDON_FUNCTION_TIMEOUT
环境变量设置为附加功能函数必须等待部署函数完成处理的秒数,其中包括建立初始连接并向客户端返回响应。
默认行为是永远等待函数完成处理并且永不超时。
如果您的网络可靠或您的应用程序对时间至关重要,您可以设置环境变量,以便客户端请求可以更早超时。由于附加功能函数的处理时间包含与服务器建立 TCP 连接的时间,因此请勿将 PRODSERVER_ADDON_FUNCTION_TIMEOUT
设置为小于 PRODSERVER_ADDON_CONNECT_TIMEOUT
的非零值。如果部署的函数在您设置的超时值内未返回完整的响应,则会发生 MPS:MATLAB:AddOn:RequestTimeout
错误。
配置函数重试
将 PRODSERVER_ADDON_FUNCTION_RETRIES
环境变量设置为附加功能重试单个超时函数调用的次数。该附加功能仅重试那些超时的函数。如果某个函数由于任何其他原因失败,该附加功能就会生成错误。
默认行为指定不重试超时的函数并在第一次超时时报告 MPS:MATLAB:AddOn:RequestTimeout
错误。
如果超时次数超出您设置的值,则附加功能会报告 MPS:MATLAB:AddOn:RequestTimeout
错误。
设置环境变量
要控制 MATLAB 会话中的超时,请使用 setenv
(MATLAB) 函数设置环境变量。例如:
MATLAB 函数 mandelflake
超时重试三次:
>> setenv('PRODSERVER_ADDON_FUNCTION_RETRIES','3') >> mandelflake
要控制独立可执行文件或软件组件中的超时,请使用特定于操作系统的命令设置环境变量,通常为 Linux® 和 macOS 上的 setenv
和 Windows® 上的 set
。例如:
Linux 独立可执行文件
mandelflake
超时重试三次:% setenv PRODSERVER_ADDON_FUNCTION_RETRIES 3 % mandelflake
Windows 独立可执行文件
mandelflake.exe
超时重试三次:C:\> set PRODSERVER_ADDON_FUNCTION_RETRIES=3 C:\> mandelflake.exe
更新服务器配置
MATLAB Production Server 附加功能配置文件指定了 MATLAB Production Server 附加功能代理函数与您安装代理函数的 MATLAB Production Server 可部署存档之间的关联和依赖关系。默认情况下,附加功能代理函数与您安装它们的 MATLAB Production Server 实例进行通信。如果服务器实例的网络地址或应用程序访问控制配置发生变化,则可以修改配置文件以包含更新的服务器信息。例如,如果您从测试环境转移到生产环境,服务器的网络地址可能会发生变化。如果服务器的 Azure® AD 应用程序注册凭据发生变化,访问控制配置也会发生变化。
配置文件可让您轻松更改特定于服务器的信息,而无需重建可部署存档或重新安装附加功能,因为附加功能和存档之间的映射位于两者外部的配置文件中。如果您想要更改已打包成独立可执行文件或可部署软件组件的附加功能代理函数的服务器信息时,这种外部映射特别有用,因为独立可执行文件和可部署软件组件也可以在不同于打包它们的机器的计算机上共享和使用。
更新附加功能配置文件
附加功能配置文件的默认名称为 prodserver_addon_config.json
。下面是一个示例配置文件。
{ "Installed": { "Scheme": "http", "Host": "localhost", "Port": 9990, "Config": { "AccessTokenPolicy":"none", "ClientID": "", "IssuerURI": "", "ServerID": "" }, "AddOns": { "name": "fractal (R2020b)", "uuid": "e3325lo6-4297-47d2-9ec8-9df64195fce3", "archiveID": "fractal_311a3f55107d8d603cc3d91707bf2feb" } }, "SchemaVersion": 1.2 }
示例配置文件描述了一个单独的附加功能 fractal
,它需要 MATLAB Runtime 版本 R2020b
和一个可部署存档 fractal
,该存档由网络地址 locahost:9990
上的 MATLAB Production Server 实例托管。
要更新服务器的网络地址,请更新 Host
和 Port
字段对应的值。要更新服务器的访问控制配置,请更新 Config
对象中的值。如果您不管理服务器,您可以从服务器管理员处获取这些值。有关使用附加功能时配置访问控制的更多信息,请参阅应用程序访问控制。
更新附加功能配置文件位置
附加功能配置文件的默认位置位于安装附加功能函数的计算机的 MATLAB 用户偏好目录中。要找到计算机上的首选项目录,请在 MATLAB 命令提示符下运行 prefdir
(MATLAB)。
您可以将附加功能配置文件保存在不同的位置,也可以更改附加功能配置文件的名称。要指定不同于默认值的位置或名称,请设置 PRODSERVER_ADDON_CONFIG
环境变量。设置变量时,必须从文件系统的根目录指定文件的完整路径。如果您想要更新已打包成独立可执行文件或共享组件的附加功能代理函数的服务器配置,可以将附加配置文件保存在其他位置。