feat: add scheduler (#30)

This commit is contained in:
Morten Olsen
2024-01-14 12:30:39 +01:00
committed by GitHub
parent eeaad68f6e
commit 2109bc3af9
18 changed files with 485 additions and 1 deletions

View File

@@ -4,17 +4,20 @@ import { Runner } from '../runner/runner.js';
import { Config } from '../config/config.js';
import { Auth } from '../auth/auth.js';
import { resolve } from 'path';
import { Scheduler } from '../scheduler/scheduler.js';
class Runtime {
#repos: Repos;
#runner: Runner;
#auth: Auth;
#scheduler: Scheduler;
constructor(options: Config) {
const database = new Database(options.database);
this.#repos = new Repos({ database, config: options });
this.#runner = new Runner({ repos: this.#repos, config: options });
this.#auth = new Auth({ config: options });
this.#scheduler = new Scheduler({ runs: this.#repos.runs, schedules: this.#repos.schedules });
}
public get repos() {
@@ -29,6 +32,10 @@ class Runtime {
return this.#auth;
}
public get scheduler() {
return this.#scheduler;
}
public static create = async () => {
const runtime = new Runtime({
database: {