PyWebSockets/TimeWaster.py
2025-10-07 18:32:13 -04:00

46 lines
1.2 KiB
Python

import time, uuid, signal, random, os
from enum import Enum
class JobStatus(Enum):
QUEUED = 1
FINISHED = 2
ERRORED = 3
class TimeWaster:
def __init__(self):
self.running = True
self.jobs: dict = {}
def handleNewJob(self):
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
def quit(self):
self.running = False
def main(self):
while self.running:
if len(self.jobs) == 0:
self.handleNewJob()
else:
job: JobResult = self.jobs[self.jobs.keys[0]]
time.sleep(random.randrange(1, 10) / 10)
job.status = JobStatus.FINISHED
job.result = "done i guess"
os.write(1, job)
class JobResult:
def __init__(self, uuid: uuid.UUID, status: JobStatus, result) -> None:
self.uuid = uuid
self.status = status
self.result = result
if __name__ == "__main__":
TimeWaster().main()