Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 

41 righe
1.0 KiB

  1. use clap::Parser;
  2. use regex::Regex;
  3. use crate::models::TrackerRedisInfo;
  4. #[derive(Parser, Debug)]
  5. #[command(author, version, about, long_about = None)]
  6. pub struct Args {
  7. #[arg(short, long, default_value = "redis://127.0.0.1:6379")]
  8. master_redis: url::Url,
  9. #[arg(short, long, default_value = "http://127.0.0.1:9091")]
  10. pub push_url: url::Url,
  11. #[arg(short, long)]
  12. pub included_projects: Vec<Regex>,
  13. #[arg(short, long)]
  14. pub excluded_projects: Vec<Regex>,
  15. #[arg(long, default_value = "600")]
  16. pub projects_refresh_interval: usize,
  17. #[arg(long, default_value = "3")]
  18. pub projects_inactive_minutes: u64,
  19. #[arg(long, default_value = "60")]
  20. pub downloader_metrics_refresh_interval: usize,
  21. #[arg(long, default_value = "15")]
  22. pub queue_metrics_refresh_interval: usize,
  23. #[arg(long, default_value = "15")]
  24. pub project_metrics_refresh_interval: usize,
  25. }
  26. impl Args {
  27. pub fn get_master_redis_info(&self) -> TrackerRedisInfo {
  28. TrackerRedisInfo::from(self.master_redis.clone())
  29. }
  30. }