Skip to content

Commit e1c2fe3

Browse files
committed
Resolve ordering
1 parent 6225088 commit e1c2fe3

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

packages/sequencer/src/sequencer/executor/Sequencer.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff 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
}

0 commit comments

Comments
 (0)