我想用马拉松来完成一个一次性的任务。我可以让任务容器运行,但是在task命令完成后,marathon会运行另一个任务,以此类推。如何防止marathon运行多个任务/命令?或者,如果这在马拉松比赛中是不可能的,我怎样才能达到期望的行为?
r8uurelv1#
自从这个问题被回答之后,一个新的叫做eRemeetic的框架已经为marathon开发,它允许你运行一次性任务。https://github.com/klarna/eremetic
q8l4jmvw2#
@sander smits:@rukletsov是如何编写的您可以使用iso8601的重复间隔只执行一次服务的。执行后,作业将被chronos自动禁用。使用“r0/。”(0重复)进行时间表设置。
slsn1g293#
作为一个黑客,你可以在最后杀死一个马拉松任务,如下所示: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/在我看来,两个最简单的选择是克洛诺斯和Jenkins。
csbfibhn4#
marathon是为长时间运行的服务而设计的,这意味着一旦进入终端状态,它将重新启动任务。根据任务的性质,您可能需要查看其他mesos框架,例如chronos。如果您想启动单个任务,可以使用 mesos-execute 伴随Mesos的工具。
mesos-execute
4条答案
按热度按时间r8uurelv1#
自从这个问题被回答之后,一个新的叫做eRemeetic的框架已经为marathon开发,它允许你运行一次性任务。
https://github.com/klarna/eremetic
q8l4jmvw2#
@sander smits:@rukletsov是如何编写的您可以使用iso8601的重复间隔只执行一次服务的。执行后,作业将被chronos自动禁用。使用“r0/。”(0重复)进行时间表设置。
slsn1g293#
作为一个黑客,你可以在最后杀死一个马拉松任务,如下所示: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/
在我看来,两个最简单的选择是克洛诺斯和Jenkins。
csbfibhn4#
marathon是为长时间运行的服务而设计的,这意味着一旦进入终端状态,它将重新启动任务。根据任务的性质,您可能需要查看其他mesos框架,例如chronos。如果您想启动单个任务,可以使用
mesos-execute
伴随Mesos的工具。