@@ -76,7 +76,6 @@
|
||||
"@backstage/repo-tools": "workspace:*",
|
||||
"@changesets/cli": "^2.14.0",
|
||||
"@octokit/rest": "^19.0.3",
|
||||
"@playwright/test": "^1.32.3",
|
||||
"@spotify/eslint-plugin": "^14.1.3",
|
||||
"@spotify/prettier-config": "^14.0.0",
|
||||
"@techdocs/cli": "workspace:*",
|
||||
|
||||
@@ -445,7 +445,7 @@ export class DatabaseTaskStore implements TaskStore {
|
||||
ids: string[];
|
||||
}>;
|
||||
// (undocumented)
|
||||
saveCheckpoint(options: {
|
||||
saveTaskState(options: {
|
||||
taskId: string;
|
||||
state?:
|
||||
| {
|
||||
@@ -661,7 +661,7 @@ export interface TaskStore {
|
||||
ids: string[];
|
||||
}>;
|
||||
// (undocumented)
|
||||
saveCheckpoint?(options: {
|
||||
saveTaskState?(options: {
|
||||
taskId: string;
|
||||
state?: {
|
||||
[key: string]:
|
||||
|
||||
@@ -188,4 +188,31 @@ describe('DatabaseTaskStore', () => {
|
||||
await store.shutdownTask({ taskId });
|
||||
}).rejects.toThrow(ConflictError);
|
||||
});
|
||||
|
||||
it('should store checkpoints and retrieve task state', async () => {
|
||||
const { store } = await createStore();
|
||||
const { taskId } = await store.createTask({
|
||||
spec: {} as TaskSpec,
|
||||
createdBy: 'me',
|
||||
});
|
||||
|
||||
await store.saveTaskState({
|
||||
taskId,
|
||||
state: {
|
||||
'repo.create': {
|
||||
status: 'success',
|
||||
value: { repoUrl: 'https://github.com/backstage/backstage.git' },
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
const state = await store.getTaskState({ taskId });
|
||||
|
||||
expect(state).toStrictEqual({
|
||||
'repo.create': {
|
||||
status: 'success',
|
||||
value: { repoUrl: 'https://github.com/backstage/backstage.git' },
|
||||
},
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -421,7 +421,7 @@ export class DatabaseTaskStore implements TaskStore {
|
||||
: undefined;
|
||||
}
|
||||
|
||||
async saveCheckpoint(options: {
|
||||
async saveTaskState(options: {
|
||||
taskId: string;
|
||||
state?:
|
||||
| {
|
||||
|
||||
@@ -124,7 +124,7 @@ export class TaskManager implements TaskContext {
|
||||
} else {
|
||||
this.task.state = { [key]: value };
|
||||
}
|
||||
await this.storage.saveCheckpoint?.({
|
||||
await this.storage.saveTaskState?.({
|
||||
taskId: this.task.taskId,
|
||||
state: this.task.state,
|
||||
});
|
||||
|
||||
@@ -206,7 +206,7 @@ export interface TaskStore {
|
||||
| undefined
|
||||
>;
|
||||
|
||||
saveCheckpoint?(options: {
|
||||
saveTaskState?(options: {
|
||||
taskId: string;
|
||||
state?: {
|
||||
[key: string]:
|
||||
|
||||
Reference in New Issue
Block a user