管理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.ini,reports_wsgi.ini, tool_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 update或 galaxy 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。
大概是你所期望的。如果未提供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在此之后启动任何新添加的实例(或 甚至可能是旧实例,因为在 主管导致整个组停止)。
自动为start,stop,restart调用更新, reload,和graceful子命令。
supervisorctl [subcommand]
直接传递给主管
shutdown
停止监督
历史记录
0.8.3
- 将galaxycfg和galaxyadm命令合并到galaxy。
0.8.2
- 允许将单个服务的名称直接传递给supervisorctl 通过start、stop和restart方法。
- 修复在使用自动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中。
- 消除了对星系和卵子的依赖。
- 将项目从我工作过的银河系克隆体移到了它自己的存储库中 从…
年龄
- 作为银河系代码的一部分正在进行中。