我正在尝试使用 Marathon 执行一次性任务。我能够让任务容器运行,但是在任务命令完成后,马拉松运行另一个任务,依此类推。如何防止 Marathon 运行多个任务/命令?
或者,如果 Marathon 无法做到这一点,我该如何实现所需的行为?
作为一个黑客,你可以在最后杀死马拉松任务,如下所示:https ://github.com/mesosphere/marathon/issues/344#issuecomment-86697361
正如 rukletsov 已经提到的 - 马拉松是为长时间运行的任务设计的:https ://stackoverflow.com/a/26647789/1047843
如果 Chronos 不适合您的情况,您可以将 Jenkins 与 Mesos 插件一起使用:https ://github.com/jenkinsci/mesos-plugin
或者您可以尝试直接与 Mesos 交谈并编写您自己的框架: http: //mesos.apache.org/documentation/latest/app-framework-development-guide/
在我看来,两个最简单的选择是 Chronos 和 Jenkins。
自从回答了这个问题后,已经为马拉松开发了一个名为 Eremetic 的新框架,它允许你完成一项任务。
@Sander Smits:@rukletsov 是如何写的,您可以使用重复间隔 ISO8601 仅执行一次服务。执行后,chronos 将自动禁用该作业。使用“R0/..”(0 次重复)进行日程设置。