Jag har inte använt rq
innan men jag ser att ett jobb har en .key
fast egendom. Det kan vara lättare att lagra hash i din session. Sedan kan du använda Job
klassens .fetch
metod som själv anropar en .refresh()
och lämna tillbaka jobbet till dig. Läser .result()
vid den tidpunkten skulle ge dig jobbets nuvarande status.
Kanske så här (otestat):
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