1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//! An instruction of [App] and its configuration [ArgApp]
//!
//! # OverView
//!
//! This module contain executor that drives the [App] into running and its configuration [ArgApp],
//! generally speaking, the executor integrate [Actor], [middleware], [pipeline] and other
//! components then continuously runs until all the work you assigned is done. Meanwhile the
//! configuration which controls the data flow updated by the function [`parse_config`]
//! periodically, which means in each [interval] the executor updates [ArgApp].
//!
//! # Set Up Configuration
//!
//! In order to start the `engine` a file named `config` in the root directory of the project is
//! required. So we new a `config` file in the root, inside the file we write the following lines:
//! ```json
//! skip: true
//! data_dir: data/
//! round_entity: 70
//! arg_affix.is_on: true
//! ```
//! these line means that skipping history file when starting the [Actor] and storing `Task`
//! `Request` `Affix` if any at `data/` directory when backup or interrupting or exiting, if
//! extracted entities are over 70 then consuming all of them.
//!
//! **Note that** if you set `arg_affix.is_on` to be true, this means you enable affix
//! customization, So you need to specify a non-None type for `AffixInfo.req` what is used to
//! generate `Affix`.
//!
//! For more details, the reference to [ArgApp] [ArgAffix] [ArgRate] is recommanded.
//!
//! [middleware]: crate::plugin::middleware
//! [pipeline]: crate::plugin::pipeline
//! [Actor]: crate::engine::Actor
//! [`parse_config`]: crate::engine::arg::ArgApp#method.parse_config
//! [engine]: crate::engine::engine
//! [App]: crate::engine::App
//! [ArgApp]: crate::engine::ArgApp
//! [ArgRate]: crate::engine::arg::ArgRate
//! [interval]: crate::engine::arg::ArgRate#structfield.interval
//! [ArgAffix]: crate::engine::arg::ArgAffix
pub
pub use Actor;
pub use ;
pub use App;
pub use ;