Non ho usato rq prima ma vedo che un lavoro ha un .key proprietà. Potrebbe essere più facile archiviare quell'hash nella tua sessione. Quindi puoi utilizzare il Job .fetch della classe metodo che chiamerà esso stesso un .refresh() e restituirti il lavoro. Leggere il .result() a quel punto ti darebbe lo stato attuale del lavoro.
Forse così (non testato):
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