管理Galaxy服务器

gravit的Python项目详细描述


重力-Galaxy服务器管理

用于Galaxy服务器的进程管理器(supervisor)和管理工具。

安装它将提供一个可执行文件galaxy,它用于 管理银河。将自动为您的星系创建一个virtualenv 服务器。这是件好事。

安装

Python2.7是必需的。不幸的是,python 3不起作用,因为主管不起作用 支持它,although work is in progress

要安装:

pip install gravity

为了让您的生活更轻松,我们鼓励您安装到virtualenv, 为了使这个变得简单,我们鼓励您使用virtualenv-burrito

注释

[galaxy:server]

将此节添加到您的galaxy.inireports_wsgi.initool_shed_wsgi.ini设置:

instance_name = string  # override the default auto-generated instance name
galaxy_root = /path     # if galaxy is not at ../ or ./ from the config file
virtualenv = /path      # override default auto-generated virtualenv path (it
                        #   will be created if it does not exist)
log_dir = /path         # where to log galaxy server output. for uwsgi you
                        #   probably want to use uwsgi's logto option though
uwsgi_path = /path      # explicit path to uwsgi, otherwise it will be found on
                        #   $PATH. Or, the special value `install`, which will
                        #   cause it to be installed into service's virtualenv

可能有用的信息、技巧等:

  • 除非用--state-dir$GRAVITY_STATE_DIR,所有人只有一个主管 你的银河系实例。但是他们会被一个 生成了instance_name。你可以用 instance_name[galaxy:server]中。
  • 将configs(galaxy configs,galaxy+reports,whatever)放入 相同的实例,在每个实例中将它们的instance_name设置为相同的字符串 配置的[galaxy:server]。这使他们成为一个单一的主管 小组,这可能是你想要的,尽管注意 对整个组执行启动/停止/重新启动等,这可能 不是你想要的。
  • 配置管理器通常根据配置文件来查看内容。 如果在配置文件中更改virtualenv或galaxy_root,则 不会为实例中的所有服务更改该值 (管理器组),它将只为已启动的服务更改它 从那个配置。
  • 任何你放进去的东西$GRAVITY_STATE_DIR/supervisor/supervisord.conf.d 将由主管在galaxy supervisorctl updategalaxy update
  • 解析的job_conf.xml对应于galaxy配置,它将 在[app:main]中检查job_config_file中的路径,或者默认为 如果文件存在,则{TT21}$。if处理程序 在job_conf.xml中有相应的[server:]galaxy.ini,它们将使用粘贴启动。如果没有 相应的[server:]它们将作为“独立”启动 带galaxy_root/lib/galaxy/main.py
  • 的服务器

子命令

使用galaxy -h获得帮助。子命令还支持-h,例如galaxy add -h

add

向进程注册galaxy、报表或工具库服务器配置 管理器,创建一个virtualenv,创建管理器配置,然后更新。 没有开始。

list

列出在进程管理器中注册的配置文件。

instances

列出已知实例和服务。

get /path/to/galaxy.ini

显示命名配置文件的存储配置详细信息。

rename /path/to/old.ini /path/to/new.ini

如果移动配置,请使用此选项。

remove /path/to/galaxy.iniremove instance_name

注销银河系等。服务器配置,或所有配置引用 提供的instance_name

start [instance_name]
stop [instance_name]
restart [instance_name]

大概是你所期望的。如果未提供instance_name,请执行 对所有已知实例的操作。

如果从银河系的根目录(或1个子目录)调用start。 源树,^ tt43}$,如果存在,否则 config/galaxy.ini.sample将自动注册到galaxy add,然后galaxy start将启动新添加的服务器。

reload [instance_name]

与restart相同,但uwsgi主进程将只接收 SIGHUP因此工作进程重新启动,但主进程保持不动。

graceful [instance_name]

与重新加载相同,但粘贴服务器将按顺序重新启动,并且 下一个要等到上一个启动后才能重新启动 接受请求。

update

找出configs中发生了什么变化,可能是:

  • 更改为[galaxy:server]
  • 添加或删除[server:]
  • 添加或删除[uwsgi]
  • job_conf.xml
  • 中添加或删除处理程序

这将对所有已注册的配置执行操作,这些配置可以 导致意外的服务重新启动。

将执行对管理器配置所需的任何更改,然后 supervisorctl update将被调用。你需要做一个 galaxy start在此之后启动任何新添加的实例(或 甚至可能是旧实例,因为在 主管导致整个组停止)。

自动为startstoprestart调用更新, reload,和graceful子命令。

supervisorctl [subcommand]

直接传递给主管

shutdown

停止监督

历史记录

0.8.3

  • galaxycfggalaxyadm命令合并到galaxy

0.8.2

  • 允许将单个服务的名称直接传递给supervisorctl 通过startstoprestart方法。
  • 修复在使用自动virtualenv时uwsgi无法启动的错误 安装方法。
  • 修正了一个错误,重新加载方法没有重新加载所有内容。

0.8.1

  • 版本凹凸是因为我从pypi中删除了0.8文件,尽管事实上 它允许你删除它们,一旦它们被上传 上载一次…

0.8

  • 如果从根调用自动寄存器,则将其添加到galaxy start(或 子目录)。
  • 使galaxycfg remove接受实例名称作为参数 配置文件路径。
  • 为实例名生成的哈希与为生成的 virtualenv名称,因此更容易将virtualenv标识为属于 配置。
  • galaxyadmin重命名为gravity(感谢John Chilton)。

0.7

  • 根据nicola的建议添加了galaxyadm子命令graceful。 索兰佐。
  • 如果需要,将uwsgi安装到配置的virtualenv中。
  • 消除了对星系和卵子的依赖。
  • 将项目从我工作过的银河系克隆体移到了它自己的存储库中 从…

年龄

  • 作为银河系代码的一部分正在进行中。

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

推荐PyPI第三方库


热门话题
java在DoublyLinkedList上实现迭代器   java如何获得ZoneDateTime时区的三个字母首字母缩写?   java Android中使用的PreferenceManager和SharedReference类是什么?   arraylist java宠物名和芯片号   java我可以使用正则表达式从短语中解析单词吗?   java Primefaces信息窗口标题   java Jetpack导航:如何从recyclerview适配器打开新片段?   Spring过滤器作为基于Java注释的bean   java在使用swing后,如何在swing中“X出”窗口?   java iText ColumnText设置矩形中的文本大小   java反射类NotFoundException   数组无法解释的“OutOfMemoryError:Java堆空间”错误和代码行为   java如何在Android中初始化类并将对象传递给构造函数?   java从文件创建2D ArrayList   java存储音乐的最佳位置/方法