fix: multiple tasks

This commit is contained in:
2026-02-26 17:15:31 +01:00
parent 1666e6bba9
commit d138bd88b4
4 changed files with 358 additions and 375 deletions

View File

@@ -15,16 +15,42 @@ export function registerPublishHandlers(safeHandle: SafeHandle): void {
const publishEngine = getPublishEngine();
publishEngine.setProjectContext(project.id, project.dataPath!);
return taskManager.runTask({
id: `publish-upload-${Date.now()}`,
name: 'Upload Site',
groupId: 'publish',
groupName: 'Site Publishing',
execute: async (onProgress) => {
return publishEngine.uploadSite(credentials, (progress, message) => {
onProgress(progress, message);
});
},
const ts = Date.now();
const groupId = `publish-${ts}`;
const groupName = 'Site Publishing';
// Launch three parallel tasks, one per directory
const htmlTask = taskManager.runTask({
id: `publish-html-${ts}`,
name: 'Upload HTML',
groupId,
groupName,
execute: (onProgress) => publishEngine.uploadHtml(credentials, onProgress),
});
const thumbsTask = taskManager.runTask({
id: `publish-thumbnails-${ts}`,
name: 'Upload Thumbnails',
groupId,
groupName,
execute: (onProgress) => publishEngine.uploadThumbnails(credentials, onProgress),
});
const mediaTask = taskManager.runTask({
id: `publish-media-${ts}`,
name: 'Upload Media',
groupId,
groupName,
execute: (onProgress) => publishEngine.uploadMedia(credentials, onProgress),
});
const [html, thumbnails, media] = await Promise.all([htmlTask, thumbsTask, mediaTask]);
return {
htmlFilesUploaded: html.filesUploaded,
thumbnailFilesUploaded: thumbnails.filesUploaded,
mediaFilesUploaded: media.filesUploaded,
filesSkipped: html.filesSkipped + thumbnails.filesSkipped + media.filesSkipped,
};
});
}