在代码库中启动、停止和管理微服务

adscli的Python项目详细描述


概述

微服务很好,但是在你的开发框上运行它们很烦人。 每一个都有自己的命令来启动和停止、检查状态以及如何 你应该知道原木在哪里吗?

ads通过要求每个参与服务公开 最常见命令的简单统一接口:start、stop, 状态和日志位置。

要使用ADS,请在每个服务的目录中放置一个名为 ads.yml 的文件:

start_cmd:
    gradle run > obscure/logs/dir/out &
    # ads can be used with any build system - cmds are just bash

stop_cmd:
    pgrep -f ninja-service | xargs kill -9
    # Still the most reliable way to kill a process

status_cmd:
    pgrep -f ninja-service
    # Exit status indicates whether any process matched

log_paths:
    - obscure/logs/dir/*
    - even/more/secret/logs/dir/**/ninja.log
    # Note the glob support

description:
    Web service that turns your ordinary app into badass rockstart tech.
    # Optional but a good idea

还有一些字段,但这将帮助您开始。

在 代码库:

# Actually, you don't need to put anything in it yet.
# The existence of the file is sufficient.

现在你可以在代码库的任何地方运行广告 服务。

$ cd /anywhere/in/codebase
$ ads list
   ninja: Web service that turns your ordinary app into badass rockstart tech.

一旦你"广告化"了一系列的服务,广告就会使它真正 方便一次操作多个。

$ ads status
--- db: not running
--- ninja: not running
--- pirate: not running

$ ads up ninja pirate
--- Starting [ninja, pirate]
--- Starting ninja
--- Starting pirate

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

推荐PyPI第三方库


热门话题
基于Java的遗传算法确定最优交易行为   java改型2.0无法解析Json嵌套对象   java在数组中查找最大额定值(数字),我们不能跳过数组中的一个或多个连续数字   java在spring boot中从命令行设置活动概要文件和配置位置   JavaAxis2:传输错误:404错误:未找到帮助理解其真正含义   java使用Play2WAR和Play2.2.1   java理解函数运算符:Lambda   在代理java后面读取https网页数据   java应用程序。Android单元测试中的类mock   java为什么onClick布局XML引用的方法需要是公共的?   从SMTLIB2文件解析的java显示声明   java重写给定的类以使用组合而不是继承   HTMLUnit和Java:NoSuchMethodException:createDefaultSSLContext()   java如何使用Spring和ThymeLeaf从前端正确更新后端中的对象?   来自init()Java的方法调用   使用cellrendering从数据库向JTable动态添加数据后,java无法使用JTable执行排序操作   java Android Studio 1.5.1。渲染错误(浮动操作按钮)   web服务如何使用UsenameToken和PasswordDigest为JAVA中的SOAP客户端附加wsse安全头   java为什么要在局部变量和myApplicationClass中同时删除“ArrayList.remove”?