Heroku如何“移动”dynos?

时间:2016-06-22 14:57:11

标签: heroku

the documentation中说:

  

dyno管理器让你的应用程序的dyno形成无任何运行   人工干预。它会自动重启崩溃的dynos,并且   无论何时,都可以自动并立即将您的dynos移动到新位置   发生底层硬件故障。

我想知道“移动”究竟意味着什么?我知道变量何时更改heroku使用新设置重新启动dyno,但“移动”意味着如果存储失败,dyno会继续运行,而短暂的文件系统会更改。但是如果存在RAM /处理器问题呢?

我在dyno documentation找不到更多信息,除了:

  

此外,dynos会根据需要重新启动   系统和你的应用程序。例如,偶尔会有dyno经理   检测底层硬件中的故障并需要移动你的dyno   到一个新的物理位置。这些事情透明地发生   定期自动并记录到您的应用程序   日志。

这是否意味着“移动”dyno意味着重启?文件系统会被重置吗?有人经历过这些“动作”吗?

1 个答案:

答案 0 :(得分:0)

不确定应该发生什么,但我可以证明我使用heroku run:detached运行的dyno发生了什么。从日志中:

  

2017-05-02T03:55:22.317995 + 00:00 app [run.5217]:{callCount:521}

     

2017-05-02T03:55:47.692257 + 00:00 app [run.5217]:{callCount:522}

     

2017-05-02T03:56:13.157487 + 00:00 app [run.5217]:{callCount:523}

     

2017-05-02T03:56:29.475119 + 00:00 heroku [run.5217]:将dyno重新定位到新服务器

     

2017-05-02T03:56:29.483169 + 00:00 heroku [run.5217]:州从完全变为完成

     

2017-05-02T03:56:38.500261 + 00:00 app [run.5217]:{callCount:524}

     

2017-05-02T03:57:03.920375 + 00:00 app [run.5217]:{callCount:525}

     

2017-05-02T03:57:06.330797 + 00:00 heroku [run.5217]:使用SIGTERM停止所有进程

     

2017-05-02T03:57:06.852899 + 00:00 heroku [run.5217]:已退出状态为14的流程   3

callCount输出来自任务本身。我不确定这是否暗示dyno在移动之后和SIGTERM之前正在工作。我甚至不确定它为什么会关机;它不是用户启动的。