Marathon - 当 return code = 0 时不重新部署应用程序?

Marathon - do not redeploy app when return code = 0?

我们在 docker 容器中部署了一个 spring 引导应用程序,并使用 mesosphere(marathon + mesos)进行管理。 spring 引导应用程序旨在通过马拉松部署,一旦完成,它将以代码 = 0 退出。

目前,每次启动应用程序终止时,marathon 都会再次重新部署该应用程序,我希望将其禁用。是否有我可以在应用程序的 marathon json 配置文件中设置的设置,如果它没有以非零代码退出,将阻止 marathon 重新部署应用程序?

我认为在理解 Marathon 的功能时存在一个原则性问题:它适用于长期 运行 任务(或者换句话说:其中某处有一个 while 循环,也许是隐含的)。如果您的应用程序存在,Marathon 会看到这一点并假定它失败并重新启动它。

如果您只想 运行 一次性工作,我认为 Chronos 是合适的工具。正如 Michael 所写,马拉松是为了长期 运行 宁任务。