Saya belum pernah menggunakan rq
sebelumnya tetapi saya melihat bahwa suatu pekerjaan memiliki .key
Properti. Mungkin lebih mudah untuk menyimpan hash itu di sesi Anda. Kemudian Anda dapat menggunakan Job
.fetch
class kelas metode yang dengan sendirinya akan memanggil .refresh()
dan mengembalikan pekerjaan itu kepada Anda. Membaca .result()
pada saat itu akan memberi Anda status pekerjaan saat ini.
Mungkin seperti ini (belum diuji):
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