return undefined if no task is found

This commit is contained in:
Johan Haals
2021-01-22 11:21:51 +01:00
parent a003fffbbb
commit 971742b6cb
@@ -20,7 +20,7 @@ import { DateTime } from 'luxon';
export interface Database {
get(taskId: string): Promise<DbTaskRow>;
createTask(task: TaskSpec): Promise<DbTaskRow>;
claimTask(): Promise<DbTaskRow>;
claimTask(): Promise<DbTaskRow | undefined>;
heartBeat(runId: string): Promise<void>;
setStatus(taskId: string, status: Status): Promise<void>;
}
@@ -47,7 +47,7 @@ export class InMemoryDatabase implements Database {
});
}
async claimTask(): Promise<DbTaskRow> {
async claimTask(): Promise<DbTaskRow | undefined> {
for (const t of this.store.values()) {
if (t.status === 'OPEN') {
const task: DbTaskRow = {
@@ -59,7 +59,7 @@ export class InMemoryDatabase implements Database {
return task;
}
}
throw new Error('No task found');
return undefined;
}
async createTask(spec: TaskSpec): Promise<DbTaskRow> {