tes
Une caisse pour travailler avec la spécification Task Execution Service (TES).
Explorer la documentation » · En savoir plus sur TES »
La caisse tes
contient des types (via la fonctionnalité types
) et un client simple (via la fonctionnalité client
) pour travailler avec la spécification Task Execution Service (TES). En bref, TES est une spécification développée pour soumettre uniformément des unités d'exécution (« tâches ») à plusieurs environnements de calcul via une seule interface HTTP. Il est surtout intéressant lors du développement de clients ou de serveurs participant à la soumission ou au suivi de travaux à grande échelle.
Pour utiliser tes
dans vos caisses, ajoutez-le simplement à votre projet.
# Si vous souhaitez utiliser le types.cargo, ajoutez tes# Si vous souhaitez également utiliser le client.cargo fourni, ajoutez le client tes --features
Après cela, vous pouvez accéder à la bibliothèque en utilisant le module tes
dans votre code Rust. Vous pouvez consulter les exemples pour vous inspirer, mais un exemple simple pourrait ressembler à ceci.
utilisez tes::v1::client;#[tokio::main]async fn main() {let url = std::env::args().nth(1).expect("url to be present"); let client = client::Builder::default().url_from_string(url).expect("l'url n'a pas pu être analysée").try_build().expect("impossible de construire client");println!("{:#?}", client .service_info().await.expect("échec de l'obtention des informations sur le service"));}
La version minimale de Rust prise en charge est actuellement 1.80.0
.
Il existe un travail CI qui vérifie la version minimale prise en charge déclarée.
Si un contributeur soumet un PR qui utilise une fonctionnalité d'une version plus récente de Rust, le contributeur est responsable de mettre à jour la version minimale prise en charge dans Cargo.toml
.
Les contributeurs peuvent mettre à jour la version minimale prise en charge selon les besoins vers la dernière version stable de Rust.
Pour faciliter la découverte de la version minimale prise en charge, installez l'outil cargo-msrv
:
cargo installer cargo-msrv
Et exécutez la commande suivante :
cargo msrv --min 1.80.0
Si la version signalée est plus récente que la version minimale actuellement prise en charge par la caisse, une mise à jour est requise.
Pour amorcer un environnement de développement, veuillez utiliser les commandes suivantes.
# Cloner le référentielgit clone [email protected]:stjude-rust-labs/tes.gitcd tes# Construire la caisse en mode releasecargo build --release# Répertorier les exemplescargo run --release --example
Avant de soumettre une demande d'extraction, assurez-vous que le code réussit les vérifications suivantes (à partir du répertoire racine).
# Exécutez le test tests.cargo du projet --all-features# Exécutez les tests pour le test examples.cargo --examples --all-features# Assurez-vous que le projet ne contient aucun avertissement de peluchage.cargo clippy --all-features # Assurez-vous que le projet réussit `cargo fmt`.# Actuellement, cela nécessite Rustcargo tous les soirs +nightly fmt --check# Assurez-vous que la documentation build.cargo doc
Les contributions, problèmes et demandes de fonctionnalités sont les bienvenus ! N'hésitez pas à consulter la page des problèmes.
Ce projet est sous licence Apache 2.0 ou MIT à votre discrétion. De plus, veuillez consulter la clause de non-responsabilité qui s'applique à toutes les caisses et outils de ligne de commande mis à disposition par St. Jude Rust Labs.
Copyright © 2024-Présent Hôpital de recherche pour enfants St. Jude.