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>
7575 log . info ( "Starting sequencer..." ) ;
7676 log . info ( "Modules:" , moduleClassNames ) ;
7777
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+ }
7891 // eslint-disable-next-line guard-for-in
7992 for ( const moduleName in this . definition . modules ) {
8093 const sequencerModule = this . resolve ( moduleName ) ;
8194
8295 log . info (
8396 `Starting sequencer module ${ moduleName } (${ sequencerModule . constructor . name } )`
8497 ) ;
98+ }
99+
100+ for ( const moduleName of orderedModules ) {
101+ const sequencerModule = this . resolve ( moduleName ) ;
85102 // eslint-disable-next-line no-await-in-loop
86103 await sequencerModule . start ( ) ;
87104 }
You can’t perform that action at this time.
0 commit comments