Tôi chưa sử dụng rq
trước đây nhưng tôi thấy rằng một công việc có .key
bất động sản. Có thể dễ dàng hơn để lưu trữ hàm băm đó trong phiên của bạn. Sau đó, bạn có thể sử dụng Job
của lớp .fetch
phương thức tự nó sẽ gọi một .refresh()
và trả lại công việc cho bạn. Đọc .result()
lúc đó sẽ cung cấp cho bạn tình trạng hiện tại của công việc.
Có thể như thế này (chưa được kiểm tra):
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