aboutsummaryrefslogtreecommitdiff
path: root/web/app/job_manager.py
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2025-05-11 19:00:48 +0530
committerRaghuram Subramani <raghus2247@gmail.com>2025-05-11 19:00:48 +0530
commitaf8665ad224f923bdffd26fa75e7d4a8714b976c (patch)
tree006a5f1ec20a5f6c413f4d21559d4cbd8b1570ca /web/app/job_manager.py
parent7e6d28b39ec3f706d86280804011f7436df90851 (diff)
update web
Diffstat (limited to 'web/app/job_manager.py')
-rw-r--r--web/app/job_manager.py21
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