|
1 |
| -#![allow(dead_code)] |
2 |
| - |
3 |
| -use builder::config::BuilderConfig; |
4 |
| -use builder::service::serve_builder_with_span; |
5 |
| -use builder::tasks::block::BlockBuilder; |
6 |
| -use builder::tasks::metrics::MetricsTask; |
7 |
| -use builder::tasks::oauth::Authenticator; |
8 |
| -use builder::tasks::submit::SubmitTask; |
9 |
| - |
| 1 | +use builder::{ |
| 2 | + config::BuilderConfig, |
| 3 | + service::serve_builder_with_span, |
| 4 | + tasks::{ |
| 5 | + block::BlockBuilder, bundler, metrics::MetricsTask, oauth::Authenticator, |
| 6 | + submit::SubmitTask, tx_poller, |
| 7 | + }, |
| 8 | +}; |
10 | 9 | use tokio::select;
|
11 | 10 |
|
12 | 11 | #[tokio::main]
|
@@ -39,14 +38,28 @@ async fn main() -> eyre::Result<()> {
|
39 | 38 | outbound_tx_channel: tx_channel,
|
40 | 39 | };
|
41 | 40 |
|
| 41 | + let tx_poller = tx_poller::TxPoller::new(&config); |
| 42 | + let (tx_receiver, tx_poller_jh) = tx_poller.spawn(); |
| 43 | + |
| 44 | + let bundle_poller = bundler::BundlePoller::new(&config, authenticator.clone()); |
| 45 | + let (bundle_receiver, bundle_poller_jh) = bundle_poller.spawn(); |
| 46 | + |
42 | 47 | let authenticator_jh = authenticator.spawn();
|
| 48 | + |
43 | 49 | let (submit_channel, submit_jh) = submit.spawn();
|
44 |
| - let build_jh = builder.spawn(submit_channel); |
| 50 | + |
| 51 | + let build_jh = builder.spawn(ru_provider, tx_receiver, bundle_receiver, submit_channel); |
45 | 52 |
|
46 | 53 | let port = config.builder_port;
|
47 | 54 | let server = serve_builder_with_span(([0, 0, 0, 0], port), span);
|
48 | 55 |
|
49 | 56 | select! {
|
| 57 | + _ = tx_poller_jh => { |
| 58 | + tracing::info!("tx_poller finished"); |
| 59 | + }, |
| 60 | + _ = bundle_poller_jh => { |
| 61 | + tracing::info!("bundle_poller finished"); |
| 62 | + }, |
50 | 63 | _ = submit_jh => {
|
51 | 64 | tracing::info!("submit finished");
|
52 | 65 | },
|
|
0 commit comments