"Connection closed" 执行代理时发生

"Connection closed" occurs when executing a agent

"Connection closed"发生在执行数据预处理函数时。

数据预处理如下

  1. 从数据库中导入大约30个主题的数据点。(每1分钟9天的数据, 60 * 24 * 9 * 30 = 388,800 个值)

  2. 将数据转换为pandas数据帧进行预处理,例如缺失值或重采样(此过程耗时最长)

  3. 数据处理

在上面的数据预处理中,出现如下错误。

volttron.platform.vip.rmq_connection ERROR: Connection closed unexpectedly, reopening in 30 seconds.

这个错误可能是VOLTTRON平台管理代理的原因。

由于第2步耗时超过30秒,出现错误,VOLTTRON平台自动重启代理

因此,代理无法正常进行数据处理。

有谁知道如何避免这种情况?

如果在代理实例化过程中发生这种情况,我建议将预处理从 init 或配置步骤移到带有 @core.receiver("onstart") 装饰器。这将阻止代理实例化和配置步骤超时。 listener agent的on start方法可以作为例子