Spaces:
Running
Running
Ron Au
commited on
Commit
•
42422ba
1
Parent(s):
d047305
feat(endpoint): Change `create/task` from GET to POST
Browse files- app.py +9 -4
- static/js/network.js +7 -1
app.py
CHANGED
@@ -4,6 +4,7 @@ from statistics import mean
|
|
4 |
from fastapi import BackgroundTasks, FastAPI
|
5 |
from fastapi.staticfiles import StaticFiles
|
6 |
from fastapi.responses import FileResponse
|
|
|
7 |
|
8 |
from modules.details import rand_details
|
9 |
from modules.inference import generate_image
|
@@ -15,6 +16,10 @@ app.mount("/static", StaticFiles(directory="static"), name="static")
|
|
15 |
tasks = {}
|
16 |
|
17 |
|
|
|
|
|
|
|
|
|
18 |
def get_place_in_queue(task_id):
|
19 |
queued_tasks = list(task for task in tasks.values()
|
20 |
if task["status"] == "queued" or task["status"] == "processing")
|
@@ -78,16 +83,16 @@ def generate_details():
|
|
78 |
return rand_details()
|
79 |
|
80 |
|
81 |
-
@app.
|
82 |
-
def create_task(background_tasks: BackgroundTasks,
|
83 |
created_at = time()
|
84 |
|
85 |
-
task_id = f"{str(created_at)}_{prompt}"
|
86 |
|
87 |
tasks[task_id] = {
|
88 |
"task_id": task_id,
|
89 |
"created_at": created_at,
|
90 |
-
"prompt": prompt,
|
91 |
"status": "queued",
|
92 |
"poll_count": 0,
|
93 |
}
|
|
|
4 |
from fastapi import BackgroundTasks, FastAPI
|
5 |
from fastapi.staticfiles import StaticFiles
|
6 |
from fastapi.responses import FileResponse
|
7 |
+
from pydantic import BaseModel
|
8 |
|
9 |
from modules.details import rand_details
|
10 |
from modules.inference import generate_image
|
|
|
16 |
tasks = {}
|
17 |
|
18 |
|
19 |
+
class NewTask(BaseModel):
|
20 |
+
prompt = "покемон"
|
21 |
+
|
22 |
+
|
23 |
def get_place_in_queue(task_id):
|
24 |
queued_tasks = list(task for task in tasks.values()
|
25 |
if task["status"] == "queued" or task["status"] == "processing")
|
|
|
83 |
return rand_details()
|
84 |
|
85 |
|
86 |
+
@app.post('/task/create')
|
87 |
+
def create_task(background_tasks: BackgroundTasks, new_task: NewTask):
|
88 |
created_at = time()
|
89 |
|
90 |
+
task_id = f"{str(created_at)}_{new_task.prompt}"
|
91 |
|
92 |
tasks[task_id] = {
|
93 |
"task_id": task_id,
|
94 |
"created_at": created_at,
|
95 |
+
"prompt": new_task.prompt,
|
96 |
"status": "queued",
|
97 |
"poll_count": 0,
|
98 |
}
|
static/js/network.js
CHANGED
@@ -13,7 +13,13 @@ const generateDetails = async () => {
|
|
13 |
};
|
14 |
|
15 |
const createTask = async (prompt) => {
|
16 |
-
const taskResponse = await fetch(pathFor(
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
const task = await taskResponse.json();
|
18 |
|
19 |
return task;
|
|
|
13 |
};
|
14 |
|
15 |
const createTask = async (prompt) => {
|
16 |
+
const taskResponse = await fetch(pathFor('task/create'), {
|
17 |
+
method: 'POST',
|
18 |
+
headers: {
|
19 |
+
'Content-Type': 'application/json',
|
20 |
+
},
|
21 |
+
body: JSON.stringify({ prompt }),
|
22 |
+
});
|
23 |
const task = await taskResponse.json();
|
24 |
|
25 |
return task;
|