No he usado rq
antes pero veo que un trabajo tiene un .key
propiedad. Podría ser más fácil almacenar ese hash en su sesión. Entonces puedes usar el Job
.fetch
de la clase método que llamará a un .refresh()
y devolverte el trabajo. Leyendo el .result()
en ese punto le daría el estado actual del trabajo.
Tal vez así (no probado):
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