Nie używałem rq
wcześniej, ale widzę, że zadanie ma .key
własność. Być może łatwiej będzie przechowywać ten skrót w sesji. Następnie możesz użyć Job
.fetch
klasy metoda, która sama wywoła .refresh()
i zwróć pracę tobie. Czytanie .result()
w tym momencie poda ci aktualny status pracy.
Może tak (nietestowane):
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