2016-08-04 3 views
0

Я пытаюсь вызвать API марафона, чтобы приостановить работу. Я не вижу в документах API, как это сделать, но я подумал, что могу сделать это, установив экземпляр = 0. Но все, что было сделано, это то, что моя работа входит в состояние «Развертывание ...» (видимо, навсегда) , С другой стороны, когда я приостанавливаю работу с помощью веб-портала марафона, он сразу же приостанавливается.Как приостановить работу с использованием API марафона

Кто-нибудь знает, как это сделать?

$.fn.suspendjob = function(id) { 
$.ajax({ 
    type: 'PUT', 
    url: 'https://mesos-head.achillesv.net/marathon/v2/apps' + id, 
    headers: { 
    "Authorization": "Basic " + btoa(user + ":" + pass) 
    }, 
    data: JSON.stringify({ instances: 0}), 
    contentType: "application/json; charset=utf-8", 
    success: function(result) { 
    appslist.length = 0; 
    $('#tabs').tabs("option", "active", 1); 
    $('#tabs').tabs("option", "active", 0); 
    } 
}); 

};

ответ

1

Я думаю, что ваше решение хорошее (set instance = 0). Я пробовал это решение, и оно сработало. Пожалуйста, попробуйте еще раз!

1

Маленький питон скрипт для достижения этой цели (Это предполагает марафон работает на локальном хосте на порту 8080):

import requests 

    marathon = "http://localhost:8080/v2/apps/<app-name>" 
    payload = {'instances': 0} 
    r = requests.put(marathon+"?force=true", json=payload)  
    #'?force=true' will be useful if an app is in deploying state 
    print r.status_code, r.reason 

 Смежные вопросы

  • Нет связанных вопросов^_^