Посмотрите в документации на
Вы можете осуществить различные проверки, а не только на HTTP конечных точек, но и Tcp ... Для Например, если вы запускаете докционированный сервис MySQL, вы можете выполнить проверку работоспособности на порту tcp 3306, чтобы убедиться, что MySQL фактически запущен и доступен:
"healtChecks": [
{
"portIndex": 0,
"protocol": "TCP",
"intervalSeconds": 1,
"timeoutSeconds": 2,
"maxConsecutiveFailures": 5
}
]
Для динамического использования важна portIndex
. Так, например, вы использовали мостовую сеть с Docker, и Marathon автоматически выбирает порт (и вы только показываете его на порту), тогда portIndex
необходимо установить в один.
Кроме того, если вы хотите немедленную проверку работоспособности при запуске (то есть задача не должна рассматриваться как RUNNING
, пока все не закончится), вам необходимо опустить параметр gracePeriodSeconds
.