Docker Swarm一次性服务跑步者

swarmer的Python项目详细描述


swarmer

Build Status

从Docker群中运行服务的Python应用程序和API。

版本0.2.6和版本0.3.0之间有一些显著的变化 更改swarmer的安装方式并将身份验证提供给private 码头登记处。本文件将很快更新以反映这一点。

工作原理

蜂群生活在一个码头群内的服务。一旦曝光,它提供了 激活一次性Docker服务运行的API。有一个配套的应用程序 负责将结果报告回此服务的服务。一劳永逸 作业中的任务已完成,完整的结果集将发布回指定的 回调URL。

客户

而与在另一个容器中运行主题代码兼容的任何客户端 基于传递的值将起作用,您可以查看一个默认客户机。此列表 将在更多默认客户端可用时更新:

依赖关系

要运行此映像,需要有可用的redis服务,要接收结果,您将 需要一个接受post数据(application/json)的回调url,可以从swarm访问 地点。

入门

你可以在这个存储库中使用compose示例,并在Docker Swarm中运行它 通过docker stack deploy -c docker-compose.yml,更改您认为合适的任何值。

一旦启动,将有一个服务暴露在您的群地址,您可以 将作业发布到。

初始请求

当您想提交一个新作业时,您可以向/submit端点发送一个请求,其中 application/json的内容类型和具有以下内容的正文:

{"image_name":"some-image:latest","callback_url":"your postback url"}

您将收到一个带有标识符的响应,这是您可以用来提交的唯一作业ID 工作任务。

添加任务

创建作业后,可以向其提交任务列表。这是通过 /submit/<identifier>/tasks终点后,其中identifier是您的id值 在创建作业时给定。此请求的正文应如下所示:

{
  "tasks": [
    {
      "task_name": "<Name>",
      "task_args": ["arg-one", "arg-two", ...]
    },
    ...
  ]
}

任务提交后,它们将立即开始运行。

检查作业的状态

如果您有一个要检查的正在运行的作业,可以发送 对/status/<identifier>资源的get请求,其中identifier 是你工作的ID值。

获取结果

完成作业的所有任务后,指定的url 在callback_url字段中,将接收带有 收集结果。一般格式为:

{"__image":"your image","__callback_url":"your url","tasks":[{"name":"task name","status":0,"args":["your","args"],"result":{"stdout":"the output written to stdout","stderr":"the output written to stderr"}},...]}
对于每一个任务,都表示退出。 任务进程的状态,而result对象 包含任务写入这两个对象的输出 输出流。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java的单元测试测试用例库。util。列出实现   java通过超类进行序列化/反序列化   java Android获取设备语言ISO字符串   java如何打开广告的行动。移动   Eclipse IDE for(嵌入式C/C++)开发者202012:经典的深色主题深黑色背景和菜单中的文本   java使用不同的内容动态创建TableView(JavaFX)   java JAXB将多个同名节点解组   java ClassDefNotFoundException,即使类由类加载器加载(服务器上安装了多个应用程序)   java有没有办法关闭在后端生成的MqttClient线程?   html如何在网站上的java小程序中包含图像?   java无法访问已分配给超类引用的子类实例变量   java在TableViewer中双击打开对话框   列出如何创建ListNode。JAVA   java如何从文本中输出的数组中放入随机图像