File tree Expand file tree Collapse file tree 1 file changed +17
-0
lines changed
packages/sequencer/src/sequencer/executor Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -75,13 +75,30 @@ export class Sequencer<Modules extends SequencerModulesRecord>
75
75
log . info ( "Starting sequencer..." ) ;
76
76
log . info ( "Modules:" , moduleClassNames ) ;
77
77
78
+ const orderedModules : Extract < keyof Modules , string > [ ] = [ ] ;
79
+ // eslint-disable-next-line guard-for-in
80
+ for ( const moduleName in this . definition . modules ) {
81
+ this . container . afterResolution (
82
+ moduleName ,
83
+ ( ) => {
84
+ orderedModules . push ( moduleName ) ;
85
+ } ,
86
+ {
87
+ frequency : "Once" ,
88
+ }
89
+ ) ;
90
+ }
78
91
// eslint-disable-next-line guard-for-in
79
92
for ( const moduleName in this . definition . modules ) {
80
93
const sequencerModule = this . resolve ( moduleName ) ;
81
94
82
95
log . info (
83
96
`Starting sequencer module ${ moduleName } (${ sequencerModule . constructor . name } )`
84
97
) ;
98
+ }
99
+
100
+ for ( const moduleName of orderedModules ) {
101
+ const sequencerModule = this . resolve ( moduleName ) ;
85
102
// eslint-disable-next-line no-await-in-loop
86
103
await sequencerModule . start ( ) ;
87
104
}
You can’t perform that action at this time.
0 commit comments