tes
Крейт для работы со спецификацией Task Execution Service (TES).
Изучите документацию » · Узнайте о TES »
Крейт tes
содержит типы (с помощью функции types
) и простой клиент (с помощью функции client
) для работы со спецификацией Task Execution Service (TES). Вкратце, TES — это спецификация, разработанная для единообразной отправки единиц выполнения («задач») в несколько вычислительных сред через единый интерфейс HTTP. Это представляет интерес в основном при разработке клиентов или серверов, которые участвуют в крупномасштабной отправке или мониторинге заданий.
Чтобы использовать tes
в своих ящиках, просто добавьте их в свой проект.
# Если вы хотите использовать types.cargo, добавьте tes# Если вы также хотите использовать предоставленный client.cargo, добавьте tes --features client
После этого вы можете получить доступ к библиотеке, используя модуль tes
в вашем коде Rust. Вы можете взглянуть на примеры для вдохновения, но простой пример может выглядеть так.
используйте tes::v1::client;#[tokio::main]async fn main() {let url = std::env::args().nth(1).expect("url, который будет присутствовать"); let client = client::Builder::default().url_from_string(url).expect("url не удалось проанализировать").try_build().expect("не удалось построить client");println!("{:#?}", клиент .service_info().await.expect("не удалось получить служебную информацию"));}
Минимальная поддерживаемая версия Rust на данный момент — 1.80.0
.
Существует задание CI, которое проверяет заявленную минимальную поддерживаемую версию.
Если участник отправляет PR, в котором используется функция из более новой версии Rust, участник несет ответственность за обновление минимальной поддерживаемой версии в Cargo.toml
.
Участники могут при необходимости обновить минимальную поддерживаемую версию до последней стабильной версии Rust.
Чтобы облегчить определение минимальной поддерживаемой версии, установите инструмент cargo-msrv
:
установка груза
И выполните следующую команду:
грузовой мсрв --мин 1.80.0
Если заявленная версия новее текущей минимально поддерживаемой версии крейта, требуется обновление.
Чтобы загрузить среду разработки, используйте следующие команды.
# Клонировать репозиторийgit clone [email protected]:stjude-rust-labs/tes.gitcd tes# Сборка крейта в режиме выпускаcargo build --release# Вывести список примеровcargo run --release --example
Прежде чем отправлять какие-либо запросы на включение, убедитесь, что код проходит следующие проверки (из корневого каталога).
# Запустите тесты проекта.cargo test --all-features# Запустите тесты для примера.cargo test --examples --all-features# Убедитесь, что в проекте нет предупреждений о линтинге.cargo clippy --all-features # Убедитесь, что проект прошел `cargo fmt`.# В настоящее время для этого требуется nightly Rustcargo +nightly fmt --check# Убедитесь, что документация build.cargo doc
Вклады, проблемы и пожелания приветствуются! Не стесняйтесь проверить страницу проблем.
Этот проект лицензируется как Apache 2.0 или MIT по вашему усмотрению. Кроме того, ознакомьтесь с заявлением об отказе от ответственности, которое распространяется на все ящики и инструменты командной строки, предоставляемые St. Jude Rust Labs.
Copyright © 2024-Настоящее время Детская исследовательская больница Св. Иуды.