tes
Una caja para trabajar con la especificación Task Execution Service (TES).
Explora los documentos » · Más información sobre TES »
La caja tes
contiene tipos (a través de la función types
) y un cliente simple (a través de la función client
) para trabajar con la especificación del Servicio de ejecución de tareas (TES). Brevemente, TES es una especificación desarrollada para enviar uniformemente unidades de ejecución ("tareas") a múltiples entornos informáticos a través de una única interfaz HTTP. Es de interés sobre todo cuando se desarrollan clientes o servidores que participan en el envío o seguimiento de trabajos a gran escala.
Para utilizar tes
en sus cajas, simplemente agréguelo a su proyecto.
# Si desea utilizar el tipo de carga, agregue tes. # Si también desea utilizar el cliente.cargo proporcionado, agregue tes --features client
Después de esto, puede acceder a la biblioteca usando el módulo tes
en su código Rust. Puedes echar un vistazo a los ejemplos para inspirarte, pero un ejemplo sencillo podría verse así.
use tes::v1::client;#[tokio::main]async fn main() {let url = std::env::args().nth(1).expect("la URL estará presente"); let client = client::Builder::default().url_from_string(url).expect("no se pudo analizar la URL").try_build().expect("no se pudo compilar cliente");println!("{:#?}", cliente .service_info().await.expect("falló al obtener información del servicio"));}
La versión mínima admitida de Rust es actualmente 1.80.0
.
Hay un trabajo de CI que verifica la versión mínima admitida declarada.
Si un colaborador envía un PR que utiliza una función de una versión más reciente de Rust, el colaborador es responsable de actualizar la versión mínima admitida en Cargo.toml
.
Los contribuyentes pueden actualizar la versión mínima admitida según sea necesario a la última versión estable de Rust.
Para facilitar el descubrimiento de cuál debería ser la versión mínima compatible, instale la herramienta cargo-msrv
:
instalación de carga cargo-msrv
Y ejecute el siguiente comando:
carga msrv --min 1.80.0
Si la versión reportada es más reciente que la versión mínima admitida actual de la caja, se requiere una actualización.
Para iniciar un entorno de desarrollo, utilice los siguientes comandos.
# Clonar el repositoriogit clone [email protected]:stjude-rust-labs/tes.gitcd tes# Construir la caja en modo de lanzamientocargo build --release# Enumerar los ejemploscargo run --release --example
Antes de enviar cualquier solicitud de extracción, asegúrese de que el código pase las siguientes comprobaciones (desde el directorio raíz).
# Ejecute la prueba tests.cargo del proyecto --all-features# Ejecute las pruebas para la prueba ejemplos.cargo --examples --all-features# Asegúrese de que el proyecto no tenga advertencias de linting.cargo clippy --all-features # Asegúrese de que el proyecto pase `cargo fmt`.# Actualmente, esto requiere nightly Rustcargo +nightly fmt --check# Asegúrese de que los documentos build.cargo doc
¡Las contribuciones, los problemas y las solicitudes de funciones son bienvenidos! No dude en consultar la página de problemas.
Este proyecto tiene licencia como Apache 2.0 o MIT a su discreción. Además, consulte el descargo de responsabilidad que se aplica a todas las cajas y herramientas de línea de comandos que St. Jude Rust Labs pone a disposición.
Copyright © 2024-Presente St. Jude Children's Research Hospital.