rest客户端在gestus服务上检索和推送数据

Gestus-client的Python项目详细描述


gestus client是在Gestus应用程序上检索和推送数据的rest客户端。它目前只在buildout项目中使用eggs安装。

安装

需要

  • nap>;=1.0.0;
  • pkginfo=1.2b1;
  • argparse==1.2.1;
  • argcomplete==0.8.0;
  • argh==0.24.1;

此外,此客户机还依赖于来自distribute的pkg_resources,但distribute未注册到setup.py中所需的包中,因为它嵌入在系统上安装的所有nt-allready的pip中。因此,如果脚本抱怨要导入pkg_resources,则必须安装pip或distribute。

PIP版本

nap需要PIP >= 1.4。如果在安装过程中出现类似的异常,则必须对其进行更新:

AttributeError: 'NoneType' object has no attribute 'skip_requirements_regex'
An error occurred when trying to install nap 1.0.1. Look above this message for any errors that were output by easy_install.
While:
Installing eggedpy.
Getting distribution for 'nap>=1.0.0'.
Error: Couldn't install: nap 1.0.1

解决此问题的最简单方法是简单地将虚拟环境中的pip更新到最新版本:

pip install --upgrade pip

用法

客户端可以注册新的网站环境或更新现有的环境。

在register或update操作期间,如果提供了eggs目录,则将扫描该目录以搜索已安装的eggs,并将已找到的eggs的列表发送到服务。

可以从命令行参数或配置文件设置网站环境的数据。如果使用配置文件,它将用于填充要发送的默认数据,您可以使用命令行参数覆盖它们。

因此,如果在配置文件中将user选项设置为ping,并在命令行参数中将此选项设置为pong,则使用的值将为pong

配置

客户机可以直接使用,但是您应该在项目中创建一个gestus.cfg文件,以避免在命令行中放置参数。

文件格式类似于*.INIfile,下面是一个完整的示例:

[Gestus]
user = your username
password = your password
host = service url
name = website name
url = environment url
env = environment name
eggs = eggs directory
server = website hostname

可用选项有:

  • user:连接到服务的用户名;
  • 密码:连接到服务的密码;
  • host:服务的url(http/http s);
  • name:网站项目名称;
  • url:试图发布项目的环境url;
  • env:环境种类名称(integrationproduction);
  • eggs:要扫描的eggs目录的路径;
  • server:网站主机名;

所有选项都可以注册新环境。但是为了更新现有的环境,你至少需要两个额外的选项:

  • website_id=已在gestus服务上注册的网站id;
  • environment_id=已在gestus服务中注册的环境id;

您不必真正关心这些选项,因为它们将自动检索并存储在第一个寄存器中。

配置保存

注意,配置文件会在注册或更新操作结束时自动保存,您可以使用passive参数禁用它:

gestus --passive

否则,默认行为是在当前目录中保存一个gestus.cfg文件,您可以使用config参数设置另一个文件名和路径:

gestus --config /home/foo/bar/my-gestus-config.cfg

因此,如果在一个项目中有多个站点需要支持,则总是为每个站点使用特定的配置文件。

注册新的网站环境

这只会注册一个新的环境,不能从这个命令更新一个现有的网站环境数据。

gestus register

如果网站环境已经存在,则注册命令将获取其数据并保存在配置文件中,然后再次发送E。gg list,这是唯一可以从这个命令更新的东西。

如果不存在,它将创建它,然后发送鸡蛋列表并将返回的数据保存在配置文件中。

警告:您必须保持鸡蛋的干净安装,gestus客户端将确保始终使用同一软件包的最后一个鸡蛋版本,因此,如果您为某些测试安装了最后一个版本,并且由于任何原因返回到上一个版本,客户机甚至会注册最后一个,因为它不知道你有效使用的那个。因此,在您的环境中进行一些包测试时,请注意这一点并清理已安装的鸡蛋。

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

推荐PyPI第三方库


热门话题
java在JavaFX TableView中设置行高   java生成范围内的随机数   ProcessBuilder或DefaultExecutor启动的“RunAs”子进程的java读取标准输出   java ExoPlayer播放多个视频   基于匹配器的java Mockito ArgumentCaptor捕获条件   java正在创建更新程序。更新/下载部分   java请求。getAttribute()在servlet中不起作用   java Android Http请求:我不理解以下代码:   java ArrayList Failfast ConcurrentModificationException   if语句Java/LWJGL Pong AI问题   使用Oracle 10g长字段填充Grails域对象时的java空指针   当用户触摸屏时,java按钮不从左上角移动到右下角   未捕获javasocket读取IOException?   用Java绘制一段圆的几何图形?