Files
py34/scraper/server/job.py
2025-08-09 17:15:20 +02:00

45 lines
851 B
Python

from scraper.job import *
from datetime import datetime
_jobs: list[Job] = []
def _clean_jobs():
global _jobs
_jobs = list(filter(lambda j: datetime.fromtimestamp(j.deadline) > datetime.now(), _jobs))
def working_on(block_start: int) -> bool:
global _jobs
_clean_jobs()
for job in _jobs:
if job.start <= block_start and job.start + job.size > block_start:
return True
return False
def assign_job(block_start: int, block_size: int) -> Job:
global _jobs
if working_on(block_start):
raise Exception("Job already assigned")
job = Job(block_start, block_size)
_jobs.append(job)
return job
def jobs() -> Job:
global _jobs
_clean_jobs()
for job in _jobs:
yield job
def any_job() -> bool:
global _jobs
_clean_jobs()
return bool(len(_jobs))