跳转到主要内容

用于管理Galaxy服务器的命令行工具

项目描述

Gravity Logo

Galaxy服务器的进程管理。

Documentation Status Gravity on the Python Package Index (PyPI) https://github.com/galaxyproject/gravity/actions/workflows/test.yaml/badge.svg

概述

现代Galaxy服务器运行多个不同的进程:用于服务Web应用的gunicorn,用于异步任务的celery,用于容错上传的tusd,用于作业处理的独立Galaxy进程,以及更多。Gravity是Galaxy的进程管理器,使配置和运行这些服务变得简单。

安装Gravity将为您提供两个可执行文件,galaxyctl,用于管理Galaxy各种进程的启动、停止和日志记录,以及galaxy,可以用于在前台运行Galaxy服务器。

快速入门

安装

需要Python 3.7或更高版本。Gravity可以独立于Galaxy安装,但自Galaxy 22.01以来,它也是Galaxy的依赖项。如果您已安装Galaxy,那么Gravity已经安装在了Galaxy的虚拟环境中。

独立安装

$ pip install gravity

用法

从Galaxy源代码签出的根目录开始,在首次运行(或运行Galaxy的./scripts/common_startup.sh)之后,激活Galaxy的虚拟环境,这将把Gravity的galaxyctlgalaxy命令添加到您的$PATH中。

$ . ./.venv/bin/activate
$ galaxyctl --help
Usage: galaxyctl [OPTIONS] COMMAND [ARGS]...

  Manage Galaxy server configurations and processes.

... additional help output

您可以使用galaxy命令启动并运行Galaxy,使其在前台运行。

$ galaxy
Registered galaxy config: /srv/galaxy/config/galaxy.yml
Creating or updating service gunicorn
Creating or updating service celery
Creating or updating service celery-beat
celery: added process group
2022-01-20 14:44:24,619 INFO spawned: 'celery' with pid 291651
celery-beat: added process group
2022-01-20 14:44:24,620 INFO spawned: 'celery-beat' with pid 291652
gunicorn: added process group
2022-01-20 14:44:24,622 INFO spawned: 'gunicorn' with pid 291653
celery                           STARTING
celery-beat                      STARTING
gunicorn                         STARTING
==> /srv/galaxy/var/gravity/log/gunicorn.log <==
...log output follows...

Galaxy将持续运行并输出日志到标准输出,直到使用CTRL+C终止。

更多详细的配置和用法示例,尤其是有关生产Galaxy服务器的示例,可以在完整文档中找到。

历史

1.0.6

1.0.5

1.0.4

1.0.3

1.0.2

1.0.1

1.0.0

版本1.0.0是Gravity的重要更新,包括其功能和特性。虽然Gravity 1.x旨在与0.x向后兼容,但强烈建议在升级到Gravity 1.x或Galaxy 23.0(它依赖于Gravity 1.x)时[阅读文档](https://gravity.readthedocs.io/en/latest/),以充分利用新功能。

0.13.6

0.13.5

0.13.4

0.13.3

0.13.2

0.13.1

0.13.0

0.12.0

0.11.0

0.10.0

0.9

0.8.3

  • galaxycfggalaxyadm命令合并为galaxy

0.8.2

  • 允许通过startstoprestart方法直接将单个服务的名称传递给supervisorctl

  • 修复了一个问题,当使用自动虚拟env安装方法时,uWSGI无法启动。

0.8.1

  • 由于我删除了PyPI上的0.8文件,因此进行了版本升级。尽管它允许你删除它们,但一旦上传就不能再次上传...

0.8

  • 如果从Galaxy根目录(或子目录)调用,则在galaxy start中添加自动注册。

  • 使galaxycfg remove除了配置文件路径外,还可以接受实例名称作为参数。

  • 使用与实例名称生成的相同哈希作为生成虚拟env名称的哈希,这样虚拟env更容易被识别为属于配置。

  • galaxyadmin重命名为gravity(感谢John Chilton)。

0.7

  • 根据Nicola Soranzo的建议,添加了galaxyadm子命令graceful

  • 如果请求,则将uWSGI安装到配置的虚拟env中。

  • 删除了所有对Galaxy和eggs的依赖。

  • 将项目从我从Galaxy克隆的仓库移动到了其自己的仓库。

较早的

  • 作为Galaxy代码的一部分,正在进行的改进。

项目详情


下载文件

为您的平台下载文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

gravity-1.0.6.tar.gz (47.6 kB 查看哈希)

上传时间

构建分布

gravity-1.0.6-py3-none-any.whl (45.3 kB 查看哈希)

上传时间 Python 3

支持者