pub struct DocEngineMultiple {
pub manifest: ConfigManifest,
}Expand description
Orchestrator zadań wsadowych. Pobiera konfigurację z plików TOML, tłumaczy ją na silnie typowane obiekty JobSpec i zleca ich wykonanie do rdzennego DocEngine.
Fields§
§manifest: ConfigManifestImplementations§
Source§impl DocEngineMultiple
impl DocEngineMultiple
Sourcepub fn loader_default() -> Result<Self, String>
pub fn loader_default() -> Result<Self, String>
Wczytuje konfigurację z domyślnego pliku (np. ./.x-do.toml)
Examples found in repository?
examples/demo.rs (line 44)
15fn main() -> Result<(), Box<dyn std::error::Error>> {
16 println!("=== TEST API BEZPOŚREDNIEGO ===");
17
18 // 1. Zamiast ręcznie wpisywać potężny wektor wzorców i ścieżek, korzystamy z
19 // wbudowanego, idealnie skrojonego pod Rusta Defaulta!
20 // let scan_config = ScanSpec::default();
21 // Jeśli chciałbyś inną ścieżkę, po prostu: ScanSpec::new("./src")
22
23 // 2. Konfiguracja tabeli (bierzemy domyślne kolumny i tylko nadpisujemy
24 // sortowanie)
25 // let table_config = TabSpec::default()
26 // .sort(TabSortBy::Name, TabSortOrder::Desc, TabPathStructure::List);
27
28 // 3. Odpalenie głównego silnika
29 // DocEngine::new(scan_config)
30 // .spec(table_config)
31 // .view(MX::M, false, false)
32 // .save_structure_of_the_content("./docs/raport-file", Some("file"))
33 // .view(MX::M, true, false)
34 // .save_content_of_the_structure("./docs/raport-docs", Some("docs"));
35
36 // println!("\n=== TEST API KONFIGURACYJNEGO (TOML) ===");
37
38 // 4. Inicjalizacja pliku TOML za pomocą nowej, bezpiecznej struktury IoConfig
39 // Tworzy ./.x-do.toml, jeśli jeszcze go nie ma (i ładuje do niego domyślne
40 // JobSpec)
41 IoConfig::default_config_init_if_missing(IoConfig::DEFAULT_PATH)?;
42
43 // 5. Wczytywanie konfiguracji i wykonanie zadań
44 let orchestrator = DocEngineMultiple::loader_default()?;
45 println!("{}", orchestrator.manifest);
46 // Jeśli chcesz odpalić konkretne zadanie (pamiętaj, w Default nazywa się
47 // "default_job", a nie "p1"!): orchestrator.job_id("default_job")?;
48
49 // A najprościej odpalić po prostu wszystkie zadania z pliku z automatu:
50 orchestrator.jobs()?;
51
52 Ok(())
53}Sourcepub fn loader_from_toml(path: &str) -> Result<Self, String>
pub fn loader_from_toml(path: &str) -> Result<Self, String>
Wczytuje konfigurację ze wskazanej ścieżki
Sourcepub fn parse(&self, cfg: &ConfigJob) -> Result<JobSpec, String>
pub fn parse(&self, cfg: &ConfigJob) -> Result<JobSpec, String>
Parsuje pojedynczy surowy obiekt konfiguracji TOML na silnie typowany JobSpec
Sourcepub fn parse_for(&self, id: &str) -> Result<JobSpec, String>
pub fn parse_for(&self, id: &str) -> Result<JobSpec, String>
Szuka zadania po ID i parsuje je do JobSpec (nie wykonując go)
Sourcepub fn jobs(&self) -> Result<(), String>
pub fn jobs(&self) -> Result<(), String>
Mapuje i wykonuje w pętli wszystkie zadania zdefiniowane w pliku TOML
Examples found in repository?
examples/demo.rs (line 50)
15fn main() -> Result<(), Box<dyn std::error::Error>> {
16 println!("=== TEST API BEZPOŚREDNIEGO ===");
17
18 // 1. Zamiast ręcznie wpisywać potężny wektor wzorców i ścieżek, korzystamy z
19 // wbudowanego, idealnie skrojonego pod Rusta Defaulta!
20 // let scan_config = ScanSpec::default();
21 // Jeśli chciałbyś inną ścieżkę, po prostu: ScanSpec::new("./src")
22
23 // 2. Konfiguracja tabeli (bierzemy domyślne kolumny i tylko nadpisujemy
24 // sortowanie)
25 // let table_config = TabSpec::default()
26 // .sort(TabSortBy::Name, TabSortOrder::Desc, TabPathStructure::List);
27
28 // 3. Odpalenie głównego silnika
29 // DocEngine::new(scan_config)
30 // .spec(table_config)
31 // .view(MX::M, false, false)
32 // .save_structure_of_the_content("./docs/raport-file", Some("file"))
33 // .view(MX::M, true, false)
34 // .save_content_of_the_structure("./docs/raport-docs", Some("docs"));
35
36 // println!("\n=== TEST API KONFIGURACYJNEGO (TOML) ===");
37
38 // 4. Inicjalizacja pliku TOML za pomocą nowej, bezpiecznej struktury IoConfig
39 // Tworzy ./.x-do.toml, jeśli jeszcze go nie ma (i ładuje do niego domyślne
40 // JobSpec)
41 IoConfig::default_config_init_if_missing(IoConfig::DEFAULT_PATH)?;
42
43 // 5. Wczytywanie konfiguracji i wykonanie zadań
44 let orchestrator = DocEngineMultiple::loader_default()?;
45 println!("{}", orchestrator.manifest);
46 // Jeśli chcesz odpalić konkretne zadanie (pamiętaj, w Default nazywa się
47 // "default_job", a nie "p1"!): orchestrator.job_id("default_job")?;
48
49 // A najprościej odpalić po prostu wszystkie zadania z pliku z automatu:
50 orchestrator.jobs()?;
51
52 Ok(())
53}Auto Trait Implementations§
impl Freeze for DocEngineMultiple
impl RefUnwindSafe for DocEngineMultiple
impl Send for DocEngineMultiple
impl Sync for DocEngineMultiple
impl Unpin for DocEngineMultiple
impl UnsafeUnpin for DocEngineMultiple
impl UnwindSafe for DocEngineMultiple
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more