Jeg har ikke brugt rq
før, men jeg kan se, at et job har en .key
ejendom. Det kan være nemmere at gemme denne hash i din session. Så kan du bruge Job
klasses .fetch
metode, som selv kalder en .refresh()
og returnere jobbet til dig. Læsning af .result()
på det tidspunkt ville give dig jobbets nuværende status.
Måske sådan her (utestet):
from rq.job import Job
@app.route('/make/')
def make():
job = q.enqueue(do_something, 'argument')
session['job'] = job.key
return 'Done'
@app.route('/get/')
def get():
try:
job = Job()
job.fetch(session['job'])
out = str(job.result)
except:
out = 'No result yet'
return out