feat: add tasks closes #74

This commit is contained in:
2024-04-12 20:36:23 +01:00
parent 143ad3b02b
commit eb20c1b0ac
21 changed files with 986 additions and 232 deletions

View File

@@ -3,11 +3,14 @@
import type { Model } from "./+page.svelte";
import FileUpload from "src/lib/FileUpload.svelte";
import MessageSimple from "src/lib/MessageSimple.svelte";
import { createEventDispatcher } from "svelte";
let {model} = $props<{model: Model}>();
let file: File | undefined = $state();
const dispatch = createEventDispatcher<{ upload: void }>();
type Result = {
class: string,
confidence: number,
@@ -15,23 +18,24 @@
let _result: Promise<Result | undefined> = $state(new Promise(() => {}));
let run = $state(false);
let last_task: string | undefined = $state();
let messages: MessageSimple;
async function submit() {
console.log("here", file);
if (!file) return;
messages.clear();
let form = new FormData();
form.append("id", model.id);
form.append("json_data", JSON.stringify({id: model.id}));
form.append("file", file, "file");
run = true;
try {
_result = await postFormData('models/run', form);
console.log(await _result);
const r = await postFormData('tasks/start/image', form);
last_task = r.id
file = undefined;
} catch (e) {
if (e instanceof Response) {
messages.display(await e.json());
@@ -39,7 +43,8 @@
messages.display("Could not run the model");
}
}
dispatch('upload');
}
</script>
<form on:submit|preventDefault={submit}>
@@ -66,7 +71,11 @@
Run
</button>
{#if run}
{#await _result then result}
{#await _result}
<h1>
Processing Image {last_task}
</h1>
{:then result}
{#if !result}
<div class="result">
<h1>