tes
Uma caixa para trabalhar com a especificação Task Execution Service (TES).
Explore a documentação » · Saiba mais sobre o TES »
A caixa tes
contém tipos (por meio do recurso types
) e um cliente simples (por meio do recurso client
) para trabalhar com a especificação do Task Execution Service (TES). Resumidamente, TES é uma especificação desenvolvida para enviar uniformemente unidades de execução ("tarefas") para múltiplos ambientes computacionais através de uma única interface HTTP. É de interesse principalmente no desenvolvimento de clientes ou servidores que participam do envio ou monitoramento em larga escala de trabalhos.
Para utilizar tes
em suas caixas, basta adicioná-lo ao seu projeto.
# Se você quiser usar o types.cargo add tes# Se você também quiser usar o client.cargo fornecido, adicione tes --features client
Depois disso, você pode acessar a biblioteca usando o módulo tes
em seu código Rust. Você pode dar uma olhada nos exemplos para se inspirar, mas um exemplo simples poderia ser assim.
use tes::v1::client;#[tokio::main]async fn main() {deixe url = std::env::args().nth(1).expect("url deve estar presente"); deixe cliente = cliente::Builder::default().url_from_string(url).expect("url não pôde ser analisado").try_build().expect("não foi possível construir cliente");println!("{:#?}", cliente .service_info().await.expect("falha ao obter informações de serviço"));}
A versão mínima do Rust suportada atualmente é 1.80.0
.
Há um trabalho de CI que verifica a versão mínima suportada declarada.
Se um contribuidor enviar um PR que usa um recurso de uma versão mais recente do Rust, o contribuidor será responsável por atualizar a versão mínima suportada no Cargo.toml
.
Os contribuidores podem atualizar a versão mínima suportada conforme necessário para a versão estável mais recente do Rust.
Para facilitar a descoberta de qual deve ser a versão mínima suportada, instale a ferramenta cargo-msrv
:
carga instalar carga-msrv
E execute o seguinte comando:
carga msrv --min 1.80.0
Se a versão relatada for mais recente que a versão mínima suportada atual da caixa, uma atualização será necessária.
Para inicializar um ambiente de desenvolvimento, use os seguintes comandos.
# Clone o repositóriogit clone [email protected]:stjude-rust-labs/tes.gitcd tes# Construa a caixa no modo de lançamentocargo build --release# Liste os exemploscargo run --release --example
Antes de enviar qualquer solicitação pull, certifique-se de que o código passe nas seguintes verificações (do diretório raiz).
# Execute os testes do projeto.cargo test --all-features# Execute os testes para os exemplos.cargo test --examples --all-features# Certifique-se de que o projeto não tenha nenhum aviso de linting.cargo clippy --all-features # Certifique-se de que o projeto seja aprovado em `cargo fmt`.# Atualmente, isso requer Rustcargo noturno +fmt noturno --check# Certifique-se de que os documentos build.cargo doc
Contribuições, problemas e solicitações de recursos são bem-vindos! Sinta-se à vontade para verificar a página de problemas.
Este projeto é licenciado como Apache 2.0 ou MIT, a seu critério. Além disso, consulte a isenção de responsabilidade que se aplica a todas as caixas e ferramentas de linha de comando disponibilizadas pelo St. Jude Rust Labs.
Copyright © 2024-Present St. Jude Children's Research Hospital.