Nepoužil jsem rq
dříve, ale vidím, že úloha má .key
vlastnictví. Může být jednodušší uložit tento hash ve vaší relaci. Pak můžete použít Job
.fetch
třídy metodu, která sama zavolá .refresh()
a vrátit vám práci. Čtení .result()
v tomto okamžiku by vám poskytl aktuální stav úlohy.
Možná takto (netestováno):
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