diff options
Diffstat (limited to 'web/app/job_manager.py')
-rw-r--r-- | web/app/job_manager.py | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/web/app/job_manager.py b/web/app/job_manager.py index 60c4635..abec11d 100644 --- a/web/app/job_manager.py +++ b/web/app/job_manager.py @@ -1,16 +1,25 @@ from rq import Queue +from rq.job import Job from redis import Redis -from jobs.scrape_cases import scrape_cases +from .jobs.scrape_cases import scrape_cases class JobManager: def __init__(self): - redis = Redis() - self.q = Queue(connection=redis) + self.redis = Redis() + self.q = Queue(connection=self.redis) - def enqueue_scrape(self, act, section, state_code): + def enqueue_scrape(self, name, acts, section, state_code): + # 4 hour timeout return self.q.enqueue( scrape_cases, - act, + name, + acts, section, - state_code + state_code, + job_timeout=14400 ) + + def get_started_jobs(self): + started_job_ids = self.q.started_job_registry.get_job_ids() + jobs = [Job.fetch(job_id, connection=self.redis) for job_id in started_job_ids] + return jobs |