Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何使用marathon API暂停作业_Jquery_Marathon - Fatal编程技术网

Jquery 如何使用marathon API暂停作业

Jquery 如何使用marathon API暂停作业,jquery,marathon,Jquery,Marathon,我正在尝试调用marathon API来挂起作业。我在API文档中没有看到如何实现这一点,但我认为可以通过设置instance=0来实现。但所做的只是使我的工作进入“部署…”状态(显然永远)。另一方面,当我使用marathon web门户挂起作业时,它会立即挂起 有人知道怎么做吗 $.fn.suspendjob = function(id) { $.ajax({ type: 'PUT', url: 'https://mesos-head.achillesv.net/marathon/v2

我正在尝试调用marathon API来挂起作业。我在API文档中没有看到如何实现这一点,但我认为可以通过设置instance=0来实现。但所做的只是使我的工作进入“部署…”状态(显然永远)。另一方面,当我使用marathon web门户挂起作业时,它会立即挂起

有人知道怎么做吗

$.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);
  }
});

})

我认为您的解决方案很好(set instance=0)。我尝试了这个解决方案,它成功了。请再试一次

我认为您的解决方案很好(set instance=0)。我尝试了这个解决方案,它成功了。请再试一次

实现这一点的一个小python脚本(它假设marathon在端口8080的本地主机上运行):

导入请求
马拉松=”http://localhost:8080/v2/apps/"
有效负载={'instances':0}
r=requests.put(marathon+“?force=true”,json=payload)
#如果应用程序处于部署状态,“?force=true”将非常有用
打印r.状态\ U代码,r.原因

实现此目的的小型python脚本(假定marathon在端口8080的本地主机上运行):

导入请求
马拉松=”http://localhost:8080/v2/apps/"
有效负载={'instances':0}
r=requests.put(marathon+“?force=true”,json=payload)
#如果应用程序处于部署状态,“?force=true”将非常有用
打印r.状态\ U代码,r.原因
    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