blob: fa486f3abfc03ea6761dc42746f72b3441437ed2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
from rq import Queue
from rq.job import Job
from redis import Redis
from .jobs.scrape_cases import scrape_cases
class JobManager:
def __init__(self):
self.redis = Redis()
self.q = Queue(connection=self.redis)
def enqueue_scrape(self, name, acts, sections, state_code):
# 4 hour timeout
return self.q.enqueue(
scrape_cases,
name,
acts,
sections,
state_code,
job_timeout=14400
)
def get_jobs(self):
started_job_ids = self.q.started_job_registry.get_job_ids()
started_jobs = [Job.fetch(job_id, connection=self.redis) for job_id in started_job_ids]
finished_job_ids = self.q.finished_job_registry.get_job_ids()
finished_jobs = [Job.fetch(job_id, connection=self.redis) for job_id in finished_job_ids]
return started_jobs + finished_jobs
|