diff --git a/src/Executor.ts b/src/Executor.ts index 98517f1..917b9d6 100644 --- a/src/Executor.ts +++ b/src/Executor.ts @@ -25,12 +25,22 @@ export class Executor { async run() { await waitForLoad(); await sleepMicro(); - markPage('Executor', this.version); - this.renderTaskQueue(); - setInterval(() => this.renderTaskQueue(), 5 * 1000); + try { + markPage('Executor', this.version); + this.renderTaskQueue(); + } catch (e) { + this.logger.warn(e); + } + + let skipFirstSleep = true; while (true) { + if (skipFirstSleep) { + skipFirstSleep = false; + } else { + await sleepMicro(); + } await this.doTaskProcessingStep(); } } @@ -40,8 +50,6 @@ export class Executor { } private async doTaskProcessingStep() { - await sleepMicro(); - const currentTs = timestamp(); const task = this.scheduler.nextTask(currentTs); diff --git a/src/utils.ts b/src/utils.ts index 036a9db..61a0b35 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -5,7 +5,7 @@ export function sleep(ms: number) { } export async function sleepMicro() { - let ms = 1000 + Math.random() * 2000; + let ms = 2000 + Math.random() * 500; return await sleep(ms); }