Couple of changes
This commit is contained in:
parent
82999e37f8
commit
3f8f2fd26f
@ -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__":
|
||||
|
@ -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))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user