为Galaxy(http://galaxyproject.org/)构建的分布式作业执行应用程序。
项目描述
本项目是一个Python服务器应用程序,允许Galaxy服务器在远程系统(包括Windows)上运行作业,而无需共享挂载的文件系统。与传统的Galaxy作业运行器不同——输入文件、脚本和配置文件可以传输到远程系统,作业执行后,结果会传输回Galaxy服务器——消除了对共享文件系统的需求。
有关本项目的完整文档可以在Read The Docs上找到。
配置Galaxy
Galaxy作业运行器在Galaxy的job_conf.xml文件中配置。一些配置示例可以在这里找到,但请务必检查Galaxy代码库中的job_conf.xml.sample_advanced或Github上的完整信息。
快速入门
有关安装Pulsar的不同方法的完整细节可以在文档的安装部分中找到,但如果您的机器有适当的Python依赖项,可以快速下载并运行测试作业
$ mkdir pulsar $ cd pulsar $ python3 -m venv venv $ . venv/bin/activate # venv\Scripts\activate.bat on Windows $ pip install 'pulsar-app[web]' $ pulsar-config $ pulsar --daemon # just `pulsar` on Windows $ pulsar-check # runs a test job
请注意,从0.14.0版本开始,Pulsar不再支持任何版本的Python 2。最低支持的Python版本是3.5。
配置文档提供了许多关于保护您的Pulsar服务器以及启用集群集成和消息队列通信等高级功能的详细信息。
开发和测试
在Linux或macOS上设置Pulsar的开发环境的推荐方法大致如下
$ git clone https://github.com/galaxyproject/pulsar $ cd pulsar $ python3 -m venv .venv $ . .venv/bin/activate # .venv\Scripts\activate on Windows $ pip install -e '.[web]' $ pip install -r dev-requirements.txt
-e标志对pip的安装使Pulsar处于“可编辑”模式,这意味着您对源代码所做的更改将在运行虚拟环境中安装的pulsar命令时反映出来。
该项目附带单元和集成测试(许多测试在Windows下无法运行),以下命令将安装运行这些测试所需的Python组件。然后以下命令将运行这些测试
$ make tests
以下命令将生成与该测试对应的覆盖率报告,并将其放置在本项目的coverage_html_report子目录中。
$ coverage html
请参阅贡献文档以了解有关开发和贡献Pulsar的更多详细信息。
请注意,本项目发布时附带了一份贡献者行为准则。通过参与本项目,您同意遵守其条款。
支持
本文档是一个正在进行的未完成作品。有更多配置和使用Pulsar的方法,而且有越来越多的Pulsar专家愿意回答您的问题并帮助解决您在设置Pulsar部署时可能遇到的问题。请随时通过Galaxy管理员Gitter频道联系。
历史
0.15.6 (2024-01-15)
允许tus上传到Galaxy。 Pull Request 351
0.15.5 (2023-09-15)
添加可恢复异常中的catchall OSError(感谢@mvdbeek)。 Pull Request 338
0.15.4 (2023-08-29)
添加显式的TimeoutError捕获(感谢@mvdbeek)。 Pull Request 337
更新galaxy-job-metrics依赖项(感谢@cat-bro)。 Pull Request 334
0.15.3 (2023-07-20)
在ConnectionResetError之后修复Pulsar消费者状态。 Pull Request 331
用户身份验证插件(感谢 @SergeyYakubov)。Pull Request 321
0.15.2 (2023-05-02)
修复Pulsar和Pulsar客户端与AMQP服务器的重新连接。Pull Request 324
减少超时异常捕获的冗余。Pull Request 325
0.15.1 (2023-04-13)
无更改,在处理pypi问题时采取替代方案。
0.15.0 (2023-04-13)
更新Galaxy+Pulsar容器。Pull Request 306
重做容器执行 - 将Kubernetes执行推广,使其无需消息队列,并允许基于pydantic-tes(https://github.com/jmchilton/pydantic-tes)的TES执行。Pull Request 302
为容器执行场景添加文档和图表。Pull Request 302
重新设计集成测试,以更积极的方式使用pytest。
修复CI,以运行更多由于Tox未将环境变量传递给pytest而未执行测试。
添加选项 amqp_key_prefix 以在容器调度部署中直接指定任务队列命名,同时保留简单的默认管理器名称等。Pull Request 315
各种类型和CI修复。Pull Request 312,Pull Request 319
处理extra_file的修复。Pull Request 318
分离tool_stdio和job_stdio的处理。Pull Request 318
从Galaxy重新导入MEMORY_STATEMENT.sh。Pull Request 297
添加对Sentry日志记录的支持。Pull Request 322
0.14.16 (2022-10-04)
修复与客户端操作映射构建URL相关的小回归问题。
0.14.15 (2022-10-03)
修复0.14.14中的小回归错误 - 更新runner util代码的交换比看起来更大。
0.14.14 (2022-10-30)
引入更新的Galaxy runner util代码。Pull Request 303
修复在启动/恢复时作业目录不存在时的“丢失”作业的恢复(感谢 @natefoo)。Pull Request 301
使用urlencode编码路径(感谢 @mvdbeek)。Pull Request 299
支持k8s_job_ttl_secs_after_finished选项,如Galaxy Kubernetes runner中所示(感谢 @natefoo)。Pull Request 287
0.14.13 (2021-12-06)
不要将所有环境变量传递给由Manager启动的作业(感谢 @nsoranzo)。Pull Request 295
为Galaxy框架测试删除旧版作业配置,针对metadata_strategy: extended进行测试(感谢 @mvdbeek)。Pull Request 294
0.14.12 (2021-11-10)
修复以使HOME和temp目录处理更接近Galaxy原生运行器。
为远程元数据启用从_work_dir输出。
0.14.11 (2021-07-19)
修复并测试某些情况下的returncode处理。Pull Request 274
使tox现代化。Pull Request 271
0.14.10 (2021-07-17)
如果不存在注释的galaxy.json,则不要出错。Pull Request 270
0.14.9 (2021-07-16)
实现动态文件源抽象,以解析从galaxy.json文件传输的文件。Pull Request 269
使用工具类仅测试远程Galaxy工具。Pull Request 266
针对Galaxy的dev和master分支运行Galaxy框架测试(感谢@mvdbeek)。Pull Request 264
0.14.8 (2021-07-14)
修复Galaxy复合输入引用。Pull Request 262
针对此存储库的pulsar运行galaxy的工具框架测试(感谢@mvdbeek)。Pull Request 259
0.14.7 (2021-07-13)
接受从Galaxy传输工具文件的描述。Pull Request 261
支持from_work_dir输出中的glob(感谢@natefoo)。Pull Request 257
修复加载Galaxy依赖关系解析器配置,以及额外的配置目录修复(感谢@natefoo)。Pull Request 256
0.14.6 (2021-05-24)
针对具有隔离主目录的新版Galaxy工具配置文件进行修复。
0.14.5 (2021-04-15)
通过作业目标参数设置文件操作的潜在修复。
0.14.4 (2021-04-14)
重新尝试发布过程 - 0.14.3发布了错误的分支。
0.14.3 (2021-04-13)
当使用Galaxy的扩展元数据时,允许从Pulsar传输更少的文件。
0.14.2 (2021-02-15)
修复与协同执行pod一起使用requests、limits和walltime的方法。Pull Request 246
0.14.1 (2021-02-02)
修复与协同执行pod一起使用命名管理器的方法。Pull Request 242
0.14.0 (2020-09-17)
修复PyYAML“load()弃用”警告(感谢@gmauro)。Pull Request 232
将DRMAA workingDirectory设置为作业的工作目录Pull Request 230
修复一个Unicode问题,并对一些变量进行了润色(感谢@gmauro)。Pull Request 229
响应请求状态更新的MQ消息。Pull Request 228
修复使用标准传输导致Py3的REST连接中断问题227 Pull Request 231
在标准传输中停止支持Python 2.7,删除Python 2.7测试并修复Python 3.7 wheel安装测试,通用测试调试增强。Pull Request 231
删除python 2.6并添加3.7,更新测试基础设施到更近期的Ubuntu设置(感谢@bgruening)。Pull Request 226
使用is_alive代替isAlive以实现Python 3.9兼容性(感谢@tirkarthi)。问题224 Pull Request 225
当使用Kubernetes时,请求和注册Galaxy IT的端口。Pull Request 223
实现杀死k8s作业。Pull Request 221
响应请求状态更新的MQ消息。Pull Request 228
删除python 2.6并添加3.7,更新测试基础设施到更近期的Ubuntu设置(感谢@bgruening)。Pull Request 226
在解析外部ID时出错时添加更详细的错误消息(感谢@gmauro)。Pull Request 213
使用requests(感谢@mvdbeek)。Pull Request 216
使用is_alive代替isAlive以实现Python 3.9兼容性(感谢@tirkarthi)。Pull Request 225
调试AMQP的连接字符串。Pull Request 217
各种小的Kubernetes修复和增强。Pull Request 218,Pull Request 219
对容器处理进行改进和修复。Pull Request 202
感谢@erasche修复异常日志中的错别字。Pull Request 203
通过删除可能不再支持的非常旧的Pulsar服务器的分支来稍微清理一下配置文件处理。Pull Request 201
0.13.1 (2020-09-16)
锁定所有列出的要求。这是支持Python 2的Pulsar的最终版本。
0.13.0 (2019-06-25)
对Kubernetes作业执行进行各种改进和简化。
0.12.1 (2019-06-03)
重试未包含所有相关提交的失败的发布。
0.12.0 (2019-06-03)
修订Python Galaxy依赖项以使用较新的Galaxy分解风格。galaxy-lib无法再在Pulsar环境中安装,因此您可能需要为此版本重建Pulsar虚拟环境。Pull Request 187
为Pulsar添加带有CVMFS的Dockerfile(感谢@nuwang和@afgane)。Pull Request 166
对Kubernetes pod执行环境进行各种小的改进。Pull Request 190
改进readme linting。Pull Request 186
更新Condor示例文档(感谢@bgruening)。Pull Request 189
0.11.0 (2019-05-16)
在客户端实现阶段Galaxy元数据输入文件。39de377
感谢@dannon修复样本中的“amqp_ack_republish_time”。Pull Request 185
更新job_conf_sample_mq_rsync.xml中的amqp_url(感谢@AndreasSko)。Pull Request 184
使用通配符字符为pulsar版本(感谢@VJalili)。Pull Request 181
重构以实现更结构化的输入。f477bc4
重构以传递对象存储标识信息。Pull Request 180
为新的Galaxy库结构重写导入。da086c9
撤销空输入测试,它很可能应该导致无法传输不存在的文件。8bd5511
更好的客户端映射器文档。b6278b4
0.10.0 (2019-05-06)
实现对Kubernetes双容器pod作业的支持 - 阶段和工具执行作为同一作业的pod中的单独容器。Pull Request 176,Pull Request 178
0.9.1 (2019-05-01)
修复在阶段Galaxy文件时重复输入的问题。Pull Request 175
修复已弃用的assertEquals()(感谢@nsoranzo)。Pull Request 173
修复一个方法缺失的问题。Pull Request 174
同步“最近”的galaxy runner util更改。Pull Request 177
0.9.0 (2019-04-12)
0.8.3 (2018-02-08)
创建通用 wheels,以便在从 PyPI 安装时启用 Python 3 支持(感谢 @nsoranzo)。 拉取请求 156
0.8.1 (2018-02-08)
0.8.0 (2017-09-21)
支持 Galaxy 作业运行/脚本中的新功能,以便 Pulsar 尊重 $GALAXY_VIRTUAL_ENV 和 $PRESERVE_GALAXY_ENVIRONMENT。修复在工具环境更改 python 在 $PATH 上的远程元数据。 拉取请求 137
在远程执行之前预先创建 Galaxy 工具输出(修复了与阶段输出中缺失输出文件相关的错误)。 拉取请求 141
支持不设置 jobs_directory 目标参数的远程传输文件操作 拉取请求 136
修复作业管理器文档中的无效字符(感谢 @mapa17)。 拉取请求 130
修复 conda_auto_* 选项解析,并包含一个 dependency_resolvers_conf.xml 示例(感谢 @mapa17)。 拉取请求 132
修复 AMQP 确认问题。 拉取请求 143
0.7.4 (2017-02-07)
0.7.3 (2016-10-31)
0.7.2 (2016-08-31)
修复在处理预处理错误条件时导致的循环问题。
0.7.1 (2016-08-29)
发布以绕过 Galaxy 中的工具版本逻辑错误(发布 Galaxy 版本认为 0.7.0 < 0.7.0.dev3)。
0.7.0 (2016-08-26)
更新 Makefile,允许将 pulsar 作为 Galaxy 的应用程序和库同时发布。
针对 TravisCI 变更对测试脚本进行的小更新。
嵌入式 Galaxy 运行器的改进。(待定:填写此内容)
移除对Python 2.6的支持。60bf962
更新从Galaxy来的SLURM集群槽位检测。cadfc5a
各种更改,允许在Galaxy中作为库使用。ce9d4f9
引入单独的工作和元数据目录,这是Galaxy 16.04所必需的,需要这种分离。6f4328e
添加Python 2.7单元测试的Tox目标。d7c524e
为setup.py develop添加Makefile命令。fd82d00
0.6.1 (2015-12-23)
调整发布流程,导致0.6.0的PyPI描述页面不正确。
0.6.0 (2015-12-23)
Pulsar现在依赖于新的Python包galaxy-lib,而不是手动在Pulsar和Galaxy之间同步Python文件。
许多构建和测试改进。
修复代码中的文档错误(感谢@erasche)。e8814ae
从Pulsar客户端中删除galaxy.eggs内容(感谢@natefoo)。00197f2
将新标志添加到README(感谢@martenson)。abbba40
在消息队列系统之上实现可选的认可系统(感谢@natefoo)。Pull Request 82 431088c
感谢@remimarenco的文档修复。Pull Request 78,Pull Request 80
修复此周期中引入的项目脚本错误(感谢@nsoranzo)。140a069
修复Windows上的config.py(感谢@ssorgatem)。Pull Request 84
添加XSEDE作业的工作管理器(感谢@natefoo)。1017bc5
修复pip依赖项安装(感谢@afgane)Pull Request 73
0.5.0 (2015-05-08)
0.4.0 (2015-04-20)
Python 3支持。Pull Request 62
修复运行
pulsar-main
和pulsar-config
命令作为脚本时遇到的错误。9d43ae0添加针对 Pulsar 服务器的问题命令脚本 pulsar-run(实验性)。3cc7f74
0.3.0 (2015-04-12)
将项目名称改为 Pulsar,并迁移到 Github。
新增 RESTful 网络服务接口。
E. Rasche 添加了 SCP 和 Rsync 文件暂存选项。Pull Request
允许基于 YAML 的配置。
支持更传统的 pip/setup.py-style 安装。
数十个小的错误修复和文档更新。
0.2.0
上一个版本命名为 LWR - 可在 BitBucket 上找到。
截至 15.03 版本,Galaxy 仍然支持。
引入了对各种排队系统的支持,作为 Mesos 框架运行,Docker 支持,以及各种其他高级部署选项。
消息队列支持。
引入了可配置文件操作的框架。
0.1.0
简单支持运行由 Python LWR 网络进程管理的作业。
0.0.1
项目详情
下载文件
下载适用于您平台的应用程序文件。如果您不确定选择哪个,请了解更多有关安装包的信息。
源分布
构建分布
pulsar-galaxy-lib-0.15.6.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 22d3b803c9f2b2aa5a99c481f8cf515b123b73226824e2841e7ecd4f0a6e4ee2 |
|
MD5 | 7b2212a2824ac0333b3da59263c384ec |
|
BLAKE2b-256 | 2db0fcad619f5c7d521e7249f6c44f93fda08f81c98b3e93d06ada75f886732c |
pulsar_galaxy_lib-0.15.6-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3f49000c2fc6dbe9091694497e6ccddb40a8f2a70e4dced33d0536da5da94b72 |
|
MD5 | d2d6fb7dcbd1e5191f2031d5b1f5bd56 |
|
BLAKE2b-256 | 7c0a016824cb2699dca43bc3d3445ad2c110c6012fdc2e567b1ce840f4d4281b |