@@ -33,7 +33,7 @@ impl WorkflowsWorker {
33
33
/// Batch size that defines how many tasks can be executed in parallel at once.
34
34
/// IMPORTANT NOTE: `run` function is designed to handle the batch size here specifically,
35
35
/// if there are more tasks than the batch size, the function will panic.
36
- const BATCH_SIZE : usize = 5 ;
36
+ const BATCH_SIZE : usize = 8 ;
37
37
38
38
pub fn new (
39
39
worklow_rx : mpsc:: Receiver < WorkflowsWorkerInput > ,
@@ -61,6 +61,7 @@ impl WorkflowsWorker {
61
61
debug_assert_eq ! ( num_tasks, batch_vec. len( ) ) ;
62
62
63
63
if num_tasks == 0 {
64
+ log:: warn!( "Closing workflows worker." ) ;
64
65
self . worklow_rx . close ( ) ;
65
66
return ;
66
67
}
@@ -69,7 +70,10 @@ impl WorkflowsWorker {
69
70
let mut batch = batch_vec. into_iter ( ) ;
70
71
log:: info!( "Processing {} workflows in batch" , num_tasks) ;
71
72
let results = match num_tasks {
72
- 1 => vec ! [ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) . await ] ,
73
+ 1 => {
74
+ let r0 = WorkflowsWorker :: execute ( batch. next ( ) . unwrap ( ) ) . await ;
75
+ vec ! [ r0]
76
+ }
73
77
2 => {
74
78
let ( r0, r1) = tokio:: join!(
75
79
WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) ,
@@ -104,6 +108,42 @@ impl WorkflowsWorker {
104
108
) ;
105
109
vec ! [ r0, r1, r2, r3, r4]
106
110
}
111
+ 6 => {
112
+ let ( r0, r1, r2, r3, r4, r5) = tokio:: join!(
113
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) ,
114
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) ,
115
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) ,
116
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) ,
117
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) ,
118
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) )
119
+ ) ;
120
+ vec ! [ r0, r1, r2, r3, r4, r5]
121
+ }
122
+ 7 => {
123
+ let ( r0, r1, r2, r3, r4, r5, r6) = tokio:: join!(
124
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) ,
125
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) ,
126
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) ,
127
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) ,
128
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) ,
129
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) ,
130
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) )
131
+ ) ;
132
+ vec ! [ r0, r1, r2, r3, r4, r5, r6]
133
+ }
134
+ 8 => {
135
+ let ( r0, r1, r2, r3, r4, r5, r6, r7) = tokio:: join!(
136
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) ,
137
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) ,
138
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) ,
139
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) ,
140
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) ,
141
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) ,
142
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) ) ,
143
+ WorkflowsWorker :: execute( batch. next( ) . unwrap( ) )
144
+ ) ;
145
+ vec ! [ r0, r1, r2, r3, r4, r5, r6, r7]
146
+ }
107
147
_ => {
108
148
unreachable ! ( "drain cant be larger than batch size" ) ;
109
149
}
0 commit comments