Couple of changes

This commit is contained in:
nc5432 2025-10-07 18:32:13 -04:00
parent 82999e37f8
commit 3f8f2fd26f
2 changed files with 20 additions and 8 deletions

View File

@ -1,4 +1,10 @@
import time, uuid, signal, random, os
from enum import Enum
class JobStatus(Enum):
QUEUED = 1
FINISHED = 2
ERRORED = 3
class TimeWaster:
def __init__(self):
@ -6,8 +12,11 @@ class TimeWaster:
self.jobs: dict = {}
def handleNewJob(self):
jobId: uuid.UUID = uuid.uuid4()
self.jobs[jobId] = "exists i guess"
msg = os.read(0, 1024)
if (msg) == "job":
jobId: uuid.UUID = uuid.uuid4()
self.jobs[jobId] = JobResult(jobId, JobStatus.QUEUED, "exists I guess")
os.write(1, self.jobs[jobId])
def handleCancelJob(self):
pass
@ -18,17 +27,18 @@ class TimeWaster:
def main(self):
while self.running:
if len(self.jobs) == 0:
time.sleep(0.01)
self.handleNewJob()
else:
uuid = self.jobs.keys[0]
job = self.jobs[uuid]
job: JobResult = self.jobs[self.jobs.keys[0]]
time.sleep(random.randrange(1, 10) / 10)
result: JobResult = JobResult(uuid, "done i guess")
os.write(1, result)
job.status = JobStatus.FINISHED
job.result = "done i guess"
os.write(1, job)
class JobResult:
def __init__(self, uuid, result) -> None:
def __init__(self, uuid: uuid.UUID, status: JobStatus, result) -> None:
self.uuid = uuid
self.status = status
self.result = result
if __name__ == "__main__":

View File

@ -1,4 +1,5 @@
from websockets import *
from TimeWaster import *
import asyncio, json, signal, sys, time, random, subprocess, os
class WebSocketServer:
@ -23,6 +24,7 @@ class WebSocketServer:
task: asyncio.Task = None
while (connected):
raw: str = await connection.recv()
os.write(stdio[1], bytes("job"))
if task != None and task.cancel(): print("TASK CANCELED")
task = asyncio.create_task(self.respond(raw, connection))