开源进程/任务管理服务Meproc使用之HTTP API

news2024/11/26 14:26:27

本文讲述如何使用开源进程/任务管理服务Meproc的HTTP API管理整个服务。
在这里插入图片描述

Meproc所提供的全部 API 的 URL 都是相同的。

http://ip:port/proc

例如

http://127.0.0.1:8606/proc

在下面的小节中,我们使用curl命令向您展示 API 的方法、参数和请求正文。

启动任务

curl -XPOST http://127.1:8606/proc -d '{"name": "task1", "cmd": "sleep 5", "type": "once", "replica": 2, "user": "guest", "deps": ["task0"]}'

要启动任务,您应该发送带有 JSON 正文的 POST 请求。

JSON 主体的所有字段为:

  • name:指定任务名称的必填字符串字段。
  • type指定任务类型的必填字符串字段。 共有三种类型:
    • once 表示该任务将启动并仅运行一次。
    • daemon 表示该任务的进程将作为守护进程启动并运行。 这意味着如果这些进程中的每一个按预期或意外退出,都将再次启动。
    • cron 表示这是一个 cron 作业。
    • coroutine 表示这是一个 melang 协程任务。
  • cmd:必填字符串字段,指定 melang 脚本文件路径(如果 typemelang)或任务进程将执行的 shell 命令。
  • replica 必需的整数字段,指定此任务的进程数。
  • user 可选字符串字段,指定任务进程的运行用户。
  • group 可选字符串字段,指定任务进程的运行组。
  • cron 指定 cron 格式表达式的可选字符串字段。 该字段仅在typecron时生效。 该字段的默认值为“* * * * *”。
  • interval 可选整数字段,指定进程退出和再次启动之前之间的秒数。 默认值为“3”。
  • deps 可选字符串数组,指定该任务所依赖的所有任务。

重启任务

curl -XPUT http://127.1:8606/proc?name=task1

我们使用PUT请求来重新启动请求参数name指示的任务。

如果发送此请求时任务正在运行,它会先停止,然后再启动。

停止任务

curl -XDELETE http://127.1:8606/proc?name=task1

我们使用DELETE请求来停止请求参数name指示的任务。

所有正在运行的进程都将通过SIGTERM信号终止。

展示任务

curl -XGET http://127.1:8606/proc

该 API 将向您显示所有任务和所有正在运行的进程。

响应正文是 JSON,其格式为:

{
  "code": 200,
  "msg": "OK",
  "data": {
    "running": [
      {
        "command": "sleep 5",
        "pid": 4321,
        "alias": "task1:0"
      },
      {
        "command": "sleep 5",
        "pid": 4322,
        "alias": "task1:1"
      }
    ],
    "tasks": {
      "task1": {
        "name": "task1",
        "cmd": "sleep 5",
        "type": "once",
        "replica": 2,
        "user": "guest",
        "deps": [
          "task0"
        ],
        "interval": 3,
        "last_time": 1699958864,
        "run_flag": false,
        "start_time": 1699958864,
        "running": 0,
        "group": null
      }
    }
  }
}

running 字段记录了当前所有正在运行的进程的信息。

tasks字段记录所有任务,无论是否运行。 它是一个物体。 该对象中的键是任务名称,值是记录任务信息的对象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1393345.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

嵌入式-Stm32-江科大基于标准库的GPIO4个小实验

文章目录 一 、硬件介绍二 、实验:LED闪烁、LED流水灯、蜂鸣器提示2.1 需求1:面包板上的LED以1s为周期进行闪烁。亮0.5s,灭0.5s.....2.2 需求2: 8个LED实现流水灯 三、硬件介绍-按键开关、光敏电阻四、 实验 按键控制LED、光敏传感器控制蜂鸣器4.1 需求1…

CNAS中兴新支点——软件测试7条原则

软件测试报告 最需要注意的就是测试思考,而非测试执行。而对软件测试菜鸟来说,初入行,首先要知道软件测试的7条原则,了解这些可以让你事倍功半。 软件测试的7条原则 1)测试的不可穷尽原则 是的!任何产品…

【K8S 云原生】K8S的对外服务—ingress

目录 一、K8S的Service 1、Service的作用 2、Service类型: 二、ingress 1、ingress的组成: 2、ingress资源的定义项: 3、ingress暴露服务端的方式 3.1、DeploymentLoadBalancer模式: 1、工作流程图: 3.2、Dae…

Eclipse闪退 打开eclipse闪退 打开eclipse图标一闪而过 eclipse闪退 eclipse打不开

Eclipse闪退 打开eclipse闪退 打开eclipse图标一闪而过 eclipse闪退 eclipse打不开 问题描述切换为命令行启动 查看异常日志 问题描述 双击图标,窗口一闪而过,马上关闭了 切换为命令行启动 查看异常日志 进入Eclipse安装目录,运行终端启动…

Tektronix/泰克MSO5204B混合信号示波器

181/2461/8938产品概述: 带宽:2 GHz通道:4个模拟通道和16个数字通道采样速率:10 GS/s记录长度:50分钟FastAcq采集的最大波形捕获速率超过250,000 wfms/sFastFrame分段内存采集模式,每秒可采集多达290,000个分段和超过310&#xff…

Blender——将模型及其所有纹理与材质导入unity

前期准备 参考视频:7分钟教会你如何将Blender的模型材质导入unity_哔哩哔哩_bilibili 实验模型官网下载地址:Hoi An Ancient House Model free VR / AR / low-poly 3D model CSDN下载链接: 【免费】Blender三维模型-古代房屋模型&#xff…

逆向使用webpack打包的网站

webpack webpack 是 JavaScript 应用程序的模块打包器,可以把开发中的所有资源(图片、js文件、css文件等)都看成模块,通过loader(加载器)和 plugins (插件)对资源进行处理,打包成符…

【银行测试】银行项目,信贷/贷款业务测试+常问面试(二)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 银行测试-信贷&am…

1358. 素数环-深度优先搜索-DFS

代码&#xff1a; #include <bits/stdc.h> using namespace std; int n, a[19], c 0; bool f[19]; bool prime(int n){if(n 1)return false;for ( int i 2 ; i * i < n ; i )if(n % i 0)return false;return true; } void print(){c;cout << c << &q…

Kafka-消费者-KafkaConsumer分析-ConsumerNetworkClient

前面介绍过NetworkClient的实现&#xff0c;它依赖于KSelector、InFlightRequests、Metadata等组件&#xff0c;负责管理客户端与Kafka集群中各个Node节点之间的连接&#xff0c;通过KSelector法实现了发送请求的功能&#xff0c;并通过一系列handle*方法处理请求响应、超时请求…

el-table里面存在固定列获取video的ref的时候无法获取原始DOM

el-table里面存在固定列获取video的ref的时候无法获取原始DOM 问题复现 这是通过ref获取的dom实例&#xff0c;却变成了fixed固定出现了表格里面的video的实例 我现在的需求是修改里面的currentTime&#xff0c;但是获取的是固定列的video的ref&#xff0c;修改了&#xff0c…

Redis 笔记一

概览 1.Redis核心数据存储结构 2.Redis底层String编码int&embstr&raw 3.Redis底层压缩列表&跳表&哈希表 4.Redis底层Zset实现压缩列表和跳表如何选择 5.基于Redis实现微博&抢红包&12306核心业务 辅助学习&#xff1a;Redis 教程 | 菜鸟教程 1.Redis为什…

虚拟架桥:SD-WAN企业组网网络的智慧构筑

云桥通SD-WAN企业组网&#xff08;软件定义广域网&#xff09;代表着一项通过软件定义和虚拟化技术&#xff0c;将企业分支机构、数据中心和云服务等多种网络连接有机整合的创新解决方案。其核心框架涵盖了以下关键构成&#xff1a; 边缘设备&#xff1a; 在云桥通SD-WAN企业组…

小程序中使用上传图片,显示、删除、预览

一、功能介绍 需要哦用户点击加号上传图片&#xff0c;并展示所上传图片和能够删除和预览 二、功能实现 采用的uniapp&#xff0c;创建了一个view容器包裹加号图标和展示的图片。 内部展示图片超过9张时候&#xff0c;加号图片隐藏 <view class"img-list">/…

Django实现下载100G的超大CSV文件

关注我的公众号「DevOps724」&#xff0c;获取最新的内容分享&#xff0c;带你探索DevOps的无限可能&#xff01;分享最新的行业趋势、深入的技术分析和实用的工具&#xff0c;帮助你掌握自动化、云计算、持续集成和部署等核心概念。 在处理大数据集的时候&#xff0c;我们经常…

【前沿技术杂谈:智能对话的未来】深入比较ChatGPT与文心一言

【前沿技术杂谈&#xff1a;智能对话的未来】深入比较ChatGPT与文心一言 引言主体智能回复语言准确性知识库丰富度 深入分析&#xff1a;ChatGPT与文心一言的技术对比技术架构和算法数据处理和隐私用户界面和体验 应用场景分析未来展望技术进步的趋势潜在的挑战对社会的影响 结…

[计算机提升] 用户账户控制设置

4.11 用户账户控制设置 用户账户控制设置用来选择何时通知使用者关于计算机更改的消息&#xff0c;是一个比较有用的功能。有时候一些流氓软件在获得权限后可以在后台默认修改注册表或者下载或者安装软件&#xff0c;这个对用户而言&#xff0c;体验不是很好&#xff0c;而且更…

开发实践6_project

要求&#xff1a; ① 页面写入超链接&#xff0c;获取所有数据item&#xff0c;显示在另一个页面&#xff0c;1min内&#xff0c;即使数据有变化&#xff0c;页面内容不变&#xff0c;1min后点击超链接可获取最新信息&#xff1b; ② 使用middleware完成用户请求路径判断 &am…

web前端项目-贪吃蛇小游戏【附源码】

web前端项目-贪吃蛇小游戏 【贪吃蛇】是一款经典的小游戏&#xff0c;采用HTML、CSS和JavaScript技术进行开发&#xff0c;玩家通过控制一条蛇在地图上移动&#xff0c;蛇的目的是吃掉地图上的食物&#xff0c;并且让自己变得更长。游戏的核心玩法是控制蛇的移动方向和长度&am…

C++(12)——string

目录 1.insert: 1.1 string& insert (size_t pos, const string& str)&#xff1a; 1.2 string& insert (size_t pos, const char* s)&#xff1a; 1.3 string& insert (size_t pos, const char* s, size_t n)&#xff1a; 1.4 string& insert (…