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()