taskKillGracePeriodSeconds 不适用于 DC/OS 马拉松应用程序?

taskKillGracePeriodSeconds is not working for DC/OS Marathon Application?

我们已经在 AWS 节点上设置了 DC/OS(版本 1.9)集群。我们正在使用设置 "taskKillGracePeriodSeconds"=60 创建 Marathon 应用程序定义。我们还在我们的应用程序中捕获 SIGTERM 以优雅地处理应用程序关闭。但这并没有造成问题,Marathon 会立即终止应用程序(按比例缩小/销毁),而不是像预期的那样等待 60 秒。我们在 SIGTERM 上收到回调,但此后应用程序立即被终止。我们还尝试通过在文件 /var/lib/dcos/mesos-slave-common MESOS_ATTRIBUTES=executor_shutdown_grace_period:60secs;docker_stop_timeout:60s 中设置以下属性来启动 Mesos 从代理 ecs 但这也无济于事。

DCOS 集群代理使用 centos-release-7-2.1511.el7.centos.2.10.x86_64 OS .

有人能成功使用 taskKillGracePeriodSeconds 吗?

请帮忙解决这个问题。

谢谢。

您在使用 Docker 容器吗?

据我所知,在转发 SIGTERM 信号时使用进程组(=容器)时出现问题。

只是为了在您的集群上进行测试,您能否使用以下命令部署应用程序,仅使用 mesos containerizer 和 taskKillGracePeriodSeconds 10 秒?

trap "echo ' killing' && sleep 5 && echo 'test' && sleep 100" SIGTERM && sleep 100000