【问题标题】:How resilient is reporting to Trains server?向 Trains 服务器报告的弹性如何?
【发布时间】:2020-11-24 17:39:16
【问题描述】:

在以下情况下,Trains 如何将丢失的数据发送到服务器?

  • 运行实验时互联网连接暂时中断
  • Internet 连接中断并且在实验结束前无法恢复(任何手动方式来发送所有丢失的数据?)
  • 运行 Trains 服务器的机器在实验过程中重置

【问题讨论】:

    标签: trains clearml


    【解决方案1】:

    免责声明:我是 allegro.ai 火车团队的一员

    • 火车将自动重试发送日志,基本上是永远。日志/指标在后台线程中发送,因此不应干扰执行。您可以通过调整~/trains.conf 文件中的sdk.network.iteration.retry_backoff_factor_sec 参数来设置退避参数,以控制重试频率,参见示例here
    • 当实验结束时,实验将尝试将所有指标刷新到后端,即进程将等待 at_exit,直到发送所有指标。这意味着如果连接被断开,它将重试,直到它再次启动。如果手动中止实验,则无法捕获/重新发送那些丢失的指标报告。也就是说,在新的 0.16 版本中,引入了离线模式。这样就可以离线运行整个实验,然后报告所有日志/指标/工件。
    • Trains-Server 机器是完全无状态的(状态本身存储在机器上的数据库中),这意味着从实验的角度来看,连接断开了几分钟,然后再次可用。对于您的问题,如果 Trains-Server 重新启动,它对所有实验都是透明的,并且它们照常继续,不会丢失任何报告。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多