@@ -135,8 +135,10 @@ impl BlockExecutor {
135
135
let packets = Self :: build_packets ( & msg_payload) ;
136
136
137
137
join_set. spawn ( {
138
- let packets = packets. clone ( ) ;
138
+ let packets: Arc < Vec < RecordPacket > > = packets. clone ( ) ;
139
139
let msg_payload = msg_payload. clone ( ) ;
140
+ let _ = handle_streams_task ( & fuel_streams, & packets, & msg_payload)
141
+ . await ;
140
142
async move {
141
143
let result = handle_stores ( & db, & packets, & msg_payload) . await ;
142
144
if let Ok ( stats) = result {
@@ -159,14 +161,6 @@ impl BlockExecutor {
159
161
stats,
160
162
) ) ) ;
161
163
}
162
- let result_streams =
163
- handle_streams ( & fuel_streams, & packets, & msg_payload) . await ;
164
- if let Ok ( stream_stats) = result_streams {
165
- match & stream_stats. error {
166
- Some ( error) => stream_stats. log_error ( error) ,
167
- None => stream_stats. log_success ( ) ,
168
- }
169
- }
170
164
Ok :: < _ , ConsumerError > ( ProcessResult :: Store ( result) )
171
165
}
172
166
} ) ;
@@ -311,11 +305,32 @@ async fn handle_stores(
311
305
}
312
306
}
313
307
308
+ fn handle_streams_task (
309
+ fuel_streams : & Arc < FuelStreams > ,
310
+ packets : & Arc < Vec < RecordPacket > > ,
311
+ msg_payload : & Arc < MsgPayload > ,
312
+ ) -> tokio:: task:: JoinHandle < ( ) > {
313
+ let packets = packets. clone ( ) ;
314
+ let msg_payload = msg_payload. clone ( ) ;
315
+ let fuel_streams = fuel_streams. clone ( ) ;
316
+ tokio:: spawn ( async move {
317
+ let result_streams =
318
+ handle_streams ( & fuel_streams, & packets, & msg_payload) . await ;
319
+ if let Ok ( stream_stats) = result_streams {
320
+ match & stream_stats. error {
321
+ Some ( error) => stream_stats. log_error ( error) ,
322
+ None => stream_stats. log_success ( ) ,
323
+ }
324
+ }
325
+ } )
326
+ }
327
+
314
328
async fn handle_streams (
315
329
fuel_streams : & Arc < FuelStreams > ,
316
330
packets : & Arc < Vec < RecordPacket > > ,
317
331
msg_payload : & Arc < MsgPayload > ,
318
332
) -> Result < BlockStats , ConsumerError > {
333
+ tracing:: info!( "[#{}] Streaming packets" , msg_payload. block_height( ) ) ;
319
334
let block_height = msg_payload. block_height ( ) ;
320
335
let stats = BlockStats :: new ( block_height. to_owned ( ) , ActionType :: Stream ) ;
321
336
let now = BlockTimestamp :: now ( ) ;
0 commit comments